{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 简单线性回归"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "from sklearn import datasets\n",
    "import matplotlib.pyplot as plt\n",
    "import matplotlib"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "boston = datasets.load_boston()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "array(['CRIM', 'ZN', 'INDUS', 'CHAS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD',\n",
       "       'TAX', 'PTRATIO', 'B', 'LSTAT'],\n",
       "      dtype='<U7')"
      ]
     },
     "execution_count": 3,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "boston.feature_names"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = boston.data[:, 5]\n",
    "y = boston.target"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(506,)"
      ]
     },
     "execution_count": 5,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(506,)"
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "y.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "50.0"
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "np.max(y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1115a17b8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x, y)\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [],
   "source": [
    "x = x[y < 50]\n",
    "y = y[y < 50]"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.model_selection import train_test_split\n",
    "x_train, x_test, y_train, y_test = train_test_split(x, y, test_size = 0.2, random_state = 666)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(392,)"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_train.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(98,)"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x_test.shape"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a1a3929e8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x_train, y_train, color='r')\n",
    "plt.axis([3,10,-1,60])\n",
    "plt.xlabel(\"house_size(m2)\")\n",
    "plt.ylabel(\"house_price(ten thousand dollors)\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [],
   "source": [
    "sinx = np.sin(x)\n",
    "cosx = np.cos(x)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZQAAAEKCAYAAAA1qaOTAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADl0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uIDIuMS4wLCBodHRwOi8vbWF0cGxvdGxpYi5vcmcvpW3flQAAIABJREFUeJzsnXdcVfX/x5/nspcoIEMRERUXggP3nrlX7r2t9KdlWmmaZmU2bPitTMs9c2vOHKm5xYm4RRkCspHNHef3xwcF5LIUBfQ8H4/74N4zPudzUM7rft5TkmUZBQUFBQWFF0VV1BNQUFBQUHg9UARFQUFBQaFQUARFQUFBQaFQUARFQUFBQaFQUARFQUFBQaFQUARFQUFBQaFQUARFQUFBQaFQUARFQUFBQaFQUARFQUFBQaFQMCzqCbxK7OzsZFdX16KehoKCgkKJ4sKFC5GyLJfN67g3SlBcXV3x8fEp6mkoKCgolCgkSQrIz3GKyUtBQUFBoVBQBEVBQUFBoVBQBEVBQUFBoVB4o3wo+lCr1QQHB5OSklLUU3lpmJqa4uzsjJGRUVFPRUFB4TXmjReU4OBgrKyscHV1RZKkop5OoSPLMlFRUQQHB1OpUqWino6CgsJrTJGavCRJWi5JUrgkSddy2C9JkrRIkqS7kiRdlSSpXqZ9IyRJupP+GvG8c0hJScHW1va1FBMASZKwtbV9rVdgCgoKxYOi9qGsBDrlsr8zUDX9NR5YDCBJkg0wB2gENATmSJJU5nkn8bqKyRNe9/tTUFAoHhSpyUuW5eOSJLnmckhPYLUs+hSfkSSptCRJTkBr4KAsy9EAkiQdRAjThpc7YwWFl4Qsw19D4ebu/B0/eDO4d3y5c3qNkWUZtVbG2FDFhYAYpm66jJdzacqXMePDDu4YGhT1d+2SSXH3oZQHgjJ9Dk7fltP2bEiSNB6xusHFxeXlzLKQGTt2LFOnTqVmzZpFPRWFl0XAaViR2+I8D9b3y75tTiwoq1G9xCWrMTFUYWKo4mpwHD1/PZntmICoJAAWH71HFXtL3OwscCtriVtZCyqXtcDNzpIyFsaveuoliuIuKPr+OuRctmffKMtLgaUA3t7eeo8pbvz5559FPQWFl0H4Tfit0csb//PSGe/nxr2865QQohPTuB7ymKHLzub7nK61nahgY45/RAL+kYn8eysctTbjsWFjYYwERCWmATCiSUWmvVUNK1MlghKKv6AEAxUyfXYGQtK3t35m+9FXNqtCJDExkf79+xMcHIxWq2X27NksXryY77//Hm9vbywtLZkyZQq7d+/GzMyMnTt34uDgQM+ePXn77bcZPnw4S5Ys4fjx46xbt66ob0dBH3Oti+6aE/4DJ89Xf/0i5HJQLONX+xAen5rnsVXtLanuVIq/r4Qwu1tNxjTPGgmp0eoIjknm1qN4lh7350JATJb9q04HsOp0AGvGNKR5Fbs33l9Z3AVlFzBJkqSNCAd8nCzLoZIkHQDmZ3LEdwRmvOjFPv/bj+shj190mCzULFeKOd1r5bh///79lCtXjj179gAQFxfH4sWLn+5PTEykcePGfPXVV3z00Uf88ccfzJo1i6VLl9KsWTMqVarEwoULOXPmTKHOW+EFkeWsK4aiYkkL8bPdHGgxtWjn8goIjkmilx5zlj7aVrendbWyfLbTj0ENXRjdzDXbMREJqWy79JCN5wIJj0+lfGkzBjWsQA2nUkxcf5EUtQ6AYcvOUc+lNO+3d6dF1TdXWIpUUCRJ2oBYadhJkhSMiNwyApBl+XdgL9AFuAskAaPS90VLkvQFcD59qHlPHPQljdq1azNt2jQ+/vhjunXrRosWLbLsNzY2plu3bgDUr1+fgwcPAuDg4MC8efNo06YN27dvx8bG5pXPXSEHimJFkheHPxevUfuhYpOink2hIcsysgwqlURsUhrNv/k3X+eNb+lG+xoODP3zLI3dbJjXs9ZTEdDpZE7cjWTtmQAO3wxHJ8u0ci/L/EYVaVPdnstBsYxcfo6yViZsGNeYslYmbPYJ5rd/7zJ8+ZstLEUd5TUoj/0yMDGHfcuB5YU5n9xWEi8Ld3d3Lly4wN69e5kxYwYdO2aN3DEyMnr6n9LAwACNRvN0n6+vL7a2toSEhLzSOSvkQHEUkmd5EggwKwIMS7aD+c6jeN5bd5GHsckkpWnzfd63fT1p4mZLr19PUq60KYuH1MfIQEVMYhqbLwSx/mwgD6KSsLEwZlwLN4Y0cqGCjTkA5+5HM2rFOexLmbJ+XCOcrM0AGNq4Iv28ndlyIZhfjwhhqZsuLC3fIGEp7iav156QkBBsbGwYOnQolpaWrFy5Ml/nnTt3jn379nHp0iVatWpFx44dlUz4oiL0aoZpqaTwZXprixLovI+IT2X/tVBm7/Qr8Ll/DvemcWVb3v7tFGlaHX+OaIB/ZCLrdl9nt28oaRodDVzL8EEHdzp5OGJiaPD03FP3Ihmz0odypU1ZP64xDqVMs4xtYmjAkEYV6Vs/Q1hGvGHCoghKEePr68v06dNRqVQYGRmxePFipk2blus5qampjBs3jhUrVlCuXDkWLlzI6NGjOXLkyGv/H7bYURJWJbkx1xo+uA7WeqPuixU6ncy0LVfYdvHhc48xdnXWfkjtfzgGgIFKYnBDF4Y0dqG6Y6ls5x2/HcG41T5UtDVn3Vhh5sqJJ8LSr34FtlwIZvbOa4xYfg4Arwql2Tmx2XPPv7gjCavSm4G3t7f8bIOtGzduUKNGjSKa0avjTbnPV0b8I1joXtSzKFyK8WrljH8UA5c+f+DJgfdb8jA2idErc26w52prjruDFdUcrZ7+rGRnwX93InhnzUUq21uydkxDbC1zFpPMxKeombj+EsdvR2TZ3qdueeb3qY2pkUEOZxY/JEm6IMuyd17HKSsUBYWC8vf7cGFFUc+i8JlrDbPCwTB/D8xXxfjVPvxz/dFznz+2eSWmbLzEzbD4p9tMDFWMbOZKOWszAqKSCIhKJCA6iaO3InK8VrPKtlwIiKGaoxUVypijUum3BoTHpzBwyRn8IxOz7bMyMWTbpYf4hTxm0aC6VHO0eu77Ko4oK5Q35Jv7m3KfL52SbuLKD72XgteAop4FsixTacbeop5GvrAwNiAxj8CAud1rYl/KlDP+Uaw+HYCJoYpZXWswtHHFYm+qVlYoCgqFiU4H8567/uiLUd4bHj5jqnGqA52+Bt8t4LOscK+3fbx4FaEJ7EFkIq2/P/rC46gkcHew4mZYPLYWxvw1oTHGBgakaLSkqnUZP9XaLNs2+QRzJSgWgCGNXDAyUBGZkMq1h3E8SC/Rkpm8xARg7t/Xs3xO1eiYvdMPrwql8XQuBjlLhYAiKAoKefHIDxY3Lbrr6zTQYR4c/CxjW+hlWNH55V53rnWRiMrpe1EM+iNnf0l1R6ss5qucmNyuKt08nXhv3UWszYzY+m5TXO0s8jxvy4VgfINjaexmw7IRDbAwyfqYTE7Tst8vlL/OB3HGP//pby425lS0NcfFxhxXWwsq2JhhaWJETafsQQAlFcXk9YaYgt6U+yx0Tv8KB2YW9SwEZjaQrOcBNmw7VG4LCREiefHSmsK97issOvn+xkvsuPzieVXlS5thZCBlWU14OVtjoJKevgxVKlQqCUOVhEoSP/f7hT09vqunE5bGhhgYSBhIEn4hcVwMjM33HNpVt8fESMXd8ATuRyZmqQn2BBebJ4EAlrg7WNGksi32VqZ6RitaFJOXgsKLUtz8JcnRYGQB6mecvWt6i59VO8Kdfwr/up+XhpmhYGxe+GNnou3Co/hHZHdkF5Q+9cqj1cnszCRM7arbo9HJ6GQZjVZGK8skq7VodfLT1/XQjLJLDqVMuBwYS0RCKmka3XPN4/DN8DyPCYxOIjA6iUM3RCBAQ1cbNr1TcisZKIKioKCPohSTSq3AsTac/iX7PnUilK8PDy9k35dZTFSGwlRWWMx3gqk3oZRT4Y2Zjk4n4zYzd+d7Q1cbzj3Qb15qU60sR29H0KmWI78OrodKJbH2TAA7L4cwulklPuuedxuI5SfuM2/3ddrXsOd/g+px5n4Um32COJge8eXpbI2liSE3Qh8Tk6SmfsUyWJoYcuJuJCaGKjQ6mTSNDu+KZfhpYB1MjQzQ6WQ0mQRLK8tZBEz77H6dTBV7y4L/AosRiqAoKDzLqxSTis2h9tuw+4OMbfePQepj6L0EEsLh2DeQlpCx/+EFqPoW3Dmgf8yev0FqvBCYe4cLb64/VIcPb4GVY6ENqdHqqPLpvjyP0ycmthbGvN/Bna/33sCjnDU/9K+DSiVx6m4kc3b50bpaWT7tmreZd8mxe3y97yY1nUpR2d6SNt8fJexxCmXMjRjW2BW3shZsvRjMqXtRVHe0opOHE0dvhRMal0IPr3I8epzC2fvRDG3swtzutd7o5lxv7p0XI1avXo2npydeXl4MGzaMgIAA2rVrh6enJ+3atSMwMBCAzZs34+HhgZeXFy1btgTghx9+YPTo0YDIuvfw8CApKXsUikI+KUwx8R4Dn4ZBhy9yPibgRIaYGGaynYdcgu0T4ODsrGLyhJzEBGDne7D/4/yJiX0B69ctrCZ8NYVAUpomX2Kij+qOVvw5wpvF/96llKkRf47wxszYAP+IBN5ddxE3Owv+N6guBjnkijzh+wO3+HrfTQCuhz7mj+P+VHeyYvGQemwc34SHsUnM2nGNkNhk3mtdWRSEPBdIaXNjlg6rT1BMEuceRDOraw2+6OnxRosJKCuUrOz7BMJ8C3dMx9rQeUGOu/38/Pjqq684efIkdnZ2REdHM2LECIYPH86IESNYvnw5kydPZseOHcybN48DBw5Qvnx5YmOFc/D999+ndevWbN++na+++oolS5Zgbv5ybd2vLYUpJlOuiJ9r+kDgKfHeazCUrwePrsGFldnP0aQU3vUBOn4J9UaAaaYoIv+jsLpnxudwP+jyPVzfCQ/+y9+431eBGQ/B5PnNM7FJadSZd/C5zm1fw55v3vZkzCofYpLUbH6nCQ6lTIlLUjN2lQ8GKollIxrk2PRKlmWuBMdlKXP/pCz92/WdMTZQsejwHf5vwyVMDFVMbFOZVLWOP/+7j4mhijnda9Ksih1jV/kQHp/C4iH16ORR+KbAkogiKEXMkSNH6Nu3L3Z2dgDY2Nhw+vRptm3bBsCwYcP46KOPAGjWrBkjR46kf//+9OnTBwCVSsXKlSvx9PRkwoQJNGv2+tYJeqkUtpnrZ6/s266sFy8ASQVyJmdvqfLw+PlrVGXB0gGSouDKRvB4O6uguLWG2VEiz+TaVrFt7zQo7ZI9NDk3vi4P0+6CZdkCTy84JinfZeafZUIrN6Z3rMb7f13mclAsvw+tj0d5a9RaHe+tv0BQTBLrxjbGxTb7l6qohFS2X3rIZp9gbj3KCDteP7YRjd1sSdPqWH7yPov/vUeSWsvABhWoXd6aX/69S3BMMr3qlGNmlxr4RybS7/fTGBlIbBzfhDoVXo8cksJAEZTM5LKSeFnIspxnluyT/b///jtnz55lz5491KlTh8uXL2Nra8udO3ewtLRUytg/L4UlJqVdIDYw67amk8HZG8xtM17GFvDXMLh3BNw7iVUDwLgjkJYI+2fCI19wqA3IYkWTF3bVIPKWeJ+QXjrk0TX4sz0M2QwOmUxbBobQdzk0fg/+bCe2xQYKMSlbHSJu5u9+v68C71+D0hXyPjadu+EJTwsyFpTv+3nRt74zPx68ze6roXzcqTqdPByRZZm5u/w4eTeK7/p60rBSRm8grU7m+J0INp0P4tCNR1lCd3t4leOnAXUA2HH5Id8fuEVIXArta9gzpHFF1p0JYN3ZQKraW7JhXGOaVLZl28VgPt56lYq2FqwY2eBpWXsFQZEa/CRJ6iRJ0i1Jku5KkvSJnv0/SpJ0Of11W5Kk2Ez7tJn27Xq1My882rVrx6ZNm4iKigIgOjqapk2bsnHjRgDWrVtH8+bNAbh37x6NGjVi3rx52NnZERQURFxcHFOmTOH48eNERUWxZcuWIruXEsmLiolFWRiyBabfA1fh18IkfUxJBfY1oGZPcG0u3puVgW3jhX+jx/9g8EYY8w+oDGB5Z/Fgn3AMui8SwvDoGpSrl/c8nojJszx+KJIy/fU8xJ294aP7YJrpd5BfMXnCTx6QGJWvQy8Fxjy3mGx5pwl96zuz8/JDfj58h7frOfNOKzcAVp8WD/4Jrdzo5y3ELSAqke8P3KLZgiOMWnGes/ejGdbYlcZuQmxGNnXl54F1OO0fRfdfTjB10xVsLU1YNbohXs6leWfNBU7di2JG5+rsndKCxm42/HjwNlM3XaGBqw1b322qiIkeimyFIkmSAfAr0AHRI/68JEm7ZFl+Wp9AluUPMh3/f0DdTEMky7Jc51XN92VRq1YtPv30U1q1aoWBgQF169Zl0aJFjB49mu+++46yZcuyYoUoRDh9+nTu3LmDLMu0a9cOLy8vxowZw3vvvYe7uzvLli2jTZs2tGzZEnt7+yK+sxLAr41e7PyGE6DtLLi2BbaOFc7zZlOg5UciEXDDINjxLqiTocEY0GnF55u7ofN3UG+YGMfJE8Yfgy2jYOdE4ZBvP1cI0q5JEHIx+7Urt4OuC+HoAri6Me+5ru4hfg7fCU5eQtgAzG2E6WrX/+VvHH185wYzgsEk50KHR2+FM3LF+Rz358aJj9vgXMaci4ExTN9ylYauNszv44EkSRy/HcHnf/vRvoYDk9tWZdvFYDb5iAx2lQQt3csyp3tN2lS3Z97u65zxj2Zci0r0867A6JXn+fdWBOVLm/HzwDpYmxkxZ+c1HkQl0bW2E7O61cDJ2oxUjZYPN11l26WH9K3vzPzetTE2fLOd7zlRZJnykiQ1AebKsvxW+ucZALIsf53D8aeAObIsH0z/nCDLcoG8gkqm/Ot/n/lmXb8XSwIccxAMjGDPhyKMt2Jz8YC3r55xjDoFNg0XEVlvzRff/i+uFmLR/IPsY2o1sLIrBGUqO2LlBKUrZt3m6AlRd4UPpuV0ITyHPy/Y/G3cRD2wcnXApBQkxxR8jGfJIaN++6VgPvjrynMN6Tu3I1amRk97xZsbG7JjYjNsLIy5Gx5P719PEZ+qoWedchy5EU58qoaKtub0965An3rlcbI2Q6uT+WTrVTZfCKZffWcMDST+Oh+EhYkhk9pU4a1ajnyz/yb7roVRyc6Cz3vUoqW78A3FJqUxYc0Fzt6P5sMO7kxqW6XYF3J8GZSETPnyQFCmz8GA3q+MkiRVBCoBRzJtNpUkyQfQAAtkWd7xsiaq8JqRHPNiYlKxOSzrkGmDJBpUnfxZPNwlxE8kYRKDrOVb4sNg/wyxX5IgLkhEWelDk5pVTADCrma8P5JLSHJuRPuLl9+25ztfH5+Xzlb764/j/ny198ZzDXf7y84YG6pISNUwdpUPqRodG8d7p4tJAu1/OP702AN+YXTxcKJ/gwo0dLV5Wlpeo9UxfctVtl8SAQ+7r4ai0ekY2bQS77R2Y9vFh3RZ9B86WWZaR3fGtXR72qUxICqRUSvPExydzM8D69CzTvFvQlbUFKWg6JP5nJZLA4EtsixnLunpIstyiCRJbsARSZJ8ZVm+l+0ikjQeGA/g4uLyonNWKOmkJcE3ri82RsCJjPfmtmBsCYGnQZbTXzog/ac+C8DlDZCaz6KL+mp3FWfSC0rqdDIL9t9k6XH/5xrm5hedMDZUodXJTNlwiTvhCfw5wpug6GQW7LvJoRsZZU3m965NNy8nSj0TJqzW6piy8RJ7fTPqc7Wtbs9HnarxMDaZwX+cFcJUw4E53Wtm8YlcCIhh3GofdLLM2rGNsjj6FXKmKAUlGMgcHuIM5BSmNBCYmHmDLMsh6T/9JUk6ivCvZBMUWZaXAktBmLz0DZ6fSKuSzJtUADRXtBpRQqQwaDwRPPqAbRUwyyVs9Pj3YhVRb4TwoVxeK8TEwAS0qWBbFbwGgueAjGgpWYZTi7KG8NYbIcrVqwxFSHD4dWFui3lQOPdjX1OYz+xriGAA381wae3zjTXXmmk1jrHt0vOFQZ+b2e5pN8Ov997g8M1wrM2MmLHVl7DHGbk677WuzEedqusdI02jo/bcA6Sm1+GqX7EMM7vUoEIZM77cc4NdV0KoYGPGshHetKvhkOXcPVdD+WDTZcpZm7J8ZAPcypbsciivkqL0oRgCt4F2wEPgPDBYlmW/Z46rBhwAKsnpk5UkqQyQJMtyqiRJdsBpoGdmh74+9PlQ7t+/j5WVFba2tq+lqMiyTFRUFPHx8VSqVKmop1O0FFquiUSWxbS5HdhVBdvKQiBsq4jPt/bBoTng4CHqc/luhsRMBQPHHBKRVpn/32lS4a+hGSa5ltPh+HfPP1V9oczPUrMn3D0CafHifauPRZhxYhT8NUSsviq1EiVh8sl6TVtmasYWeLpb3mmCt6sNyWlaRiw/97TkikqCVu5liU/R4BMQw6Q2VZj2VjW9Y1wMjKHPb6eefl48pB7tazqw+nQAPx68TZpWxzutKvNe68pZ2vDKssyS4/4s2HcT74plWDpcmNcU8u9DKdLy9ZIkdQF+AgyA5bIsfyVJ0jzAR5blXenHzAVMZVn+JNN5TYElgA4R+vyTLMt5dhnSJyhqtZrg4GBSUgo5S7kYYWpqirOzM0ZG+jOH3wi+d8/Iz3ge6g2HdnPBwhY0aRAbAJF3hHM86g5E3hXvE/OoMOs9GkKvZjTMavWxCO2NDRK+keSY7OeYlcm6vVYfEan1xA8S5gspOZRVd/SEkbvh8Dw4/2fO83JrI1YnF9ekC0svMTfbyiLyzHdz7velh46p33Bbzn+OyqyuNfB2teGv80FsOJchglM7uNPfuwJ+IXGMXe3DWzUd+W1IvWwteENik/lqzw32+IYCUMXekr2TW3A1OJZZO65xMyyeVu5l+bxHrWx9UdRaHZ/t9GPDuUC6e5Xju76eJarn+8umRAjKq0afoCi8AZz+DQ7MeL5zHWtD1x+hQoO8j1Uni5Iq+7OlVBUM5wYi9Lh0BbCuIEqcxIfBmcVw8qesx5ZyFtnvbq3AtQUEnISDc+BxcNbj+vwhVj3PCoNNZYjOZCmuM0RUKb65N5OwfCSCBo59U+BbqZqyGnU+LevuDpbcfpS1btmVOR2xNjPiVlg8fX47SaWyFmya0ARz44wxH6eoWXz0HouPZtzHrK416FW3PAv23WTLhWDKWZvyWfeavFXLMZslIj5FzXvrLvLfnUgmtqnMhx2q5dgv/k1FERQ9KILyBnJ9F2wa9nzndvoGGowVmeVPSHksorJig4QpKTZAPKRzWv1IBqKsirWzSF7UpgmzliYVInKIfrJ0AEt7UWk427iZzG2uLWDoVjA0yXpIWpJoDPbvl1m3V2wOCWEQdU9Enz1ZTdm4iZXO00uoRCImwMNLGcJS2gXO/FbgsviuKevzdVydCqXpWMuB5SceoJNldk5sRgUbcyITUun160nSNDp2TmqGk7UZIFYV688G8vPhO0Qnpj0d57u+nqRodHy3/yZJaVrGtnBjcrsqWUToCSGxyYxeeZ674QnM712b/g3yv6J6k1AERQ+KoLxhRN2D/+Ujy1wfnb8TD//M4hEXCCn5jM4avFmYkKycsgrSs/zRLsP85dpC+Ctye2DbuAkfTeaw5/HHhAnsWR/g41DhA9HXOwXEauTyOv37TEqJEvo2lQFZjKVJFv6ipMic55cDuYlKn7rlmdCqMpXsLBix/BwXAmJYP64R3q42pGq0DPnjLL4P49g0oQleFUojyzIH/B7xzf6b3I9MpHZ5a24/ikejkxnZ1JXzD6K5GhxH08q2zOtZiyr2+hMufYPjGLPqPMlpWhYPrU/zqnYFvq83BUVQ9KAIyhuELIu8iBfF2FJ8M7euIIosBvtAzP2M/ZVaiQezWWmRxFi2GgzflXvkF4iIsw0D4a6eirvODcS4bq2Fcz82SPhpou5m8tvcE1FimSlXV4iNbXqAgF16gMCVDSIiTB85Of2rdoRKLcFnhTCJGVmATi1E9jnRJyqb32lCA1cbZFlmxjZfNp4P4of+XvSp54wsy3y4+QrbLj7kl8F16eZZjkuBMczfe4PzD2KoYm/JpDZVWHnqAZeDYiljbkRsspqylibM6laT7p5OOQbaHLr+iP/bcAkbC2NWjGqAu0POWf4KJSOxUUHh5fG8YtLuM1Fo8an/wgruHhYP5eu7xEPcrhrUGQS1+4uExqBzsLoXlKkEQ7frFxNZFmYl/3/h9oGsKwzbKsKUlhgOdu6imOOT0iggGlo968PR6cTq6ebujKTJkEuQGAm+W8gShWZVLuf7Pf4dNHsffJaLFckT7vwjhGzMQQg+J0xo+S1vnwP9Df5lk7bN089f9faggavI71h24j4bzwcxsU1l+tRzBuD3Y/5su/iQ99tXxbN8aSauv8ieq6HYWZowv3dtOtZyYMTyc/iFiHk/TtEwulkl3m9fNcfS9QArT4rujB7lrflzhHex7OFeUlFWKAqvH88bHvzRfVHbSpZFxNWVjemhvhEigbF2P5Ez4lQnw7wUegVWdhfRX6P2Ze1mGB8G94+LasL+x7I7yh09hXg8OefGblHPq2w1GLYDLPJpgkmOhW3jhAjUHQYdv4C4hxkRaFH3xMrmYT7/7zt6Zs3Gn3IFyrhC6FXkM7+hu7oFA1mdv7Ge4YmTvl99Z77t64kkSRy6/ohxa3yytPA94BfGO2sv0LyKHVXtrVhz5gGGKhXjWroxvqUbqWot9b889HTcBq5l+KKXB9UdS+V4ba1O5ovd11l56gEdajrw88A6ev0qCtlRTF56UATlDeD4d3Dky7yPe5YP/IQD3XeTEJLw62BgLMrLew2Cqh1E7a7MhN+ElV3AyFyIiWkpeHBS5Gv4H82o3GtWRvhHLMqCzzJxfJ8/oEa37PO4c0j4Pcq4ikKO+W23q9PB0a/h+Lei53z/NWL1lBlZFr+ff78q6G8HavZC12Ia88+q2XnmBl+WP0PH5D1ISfmrNJyZrja72fpuU0yNDLge8pi+v5+icllLNk1ogpmxAX4hcfT85SQanYyxoQqNVke/+hWY2tEdh1Km+Eck0HZhRk7Mwn5e9KlXPtc8sqQ0DZM3XObQjUeMaV6JmV3nXMV+AAAgAElEQVRq5NnNUSEDRVD0oAjKa45OB/PK5H3cs7T4UJiL/I+KcinODcVKpFZvsWLRR9Q90UskOUY0sYoNhIcXQdaCoRlUbJLuB2klvvHfOwKbR4kQ4EEbRVHGnLj/H6wfAFYOwh9TgH4j3Pgbtr8DRmbQfzVUbJr9mGPfClFpPFGY7lZ2yzmPRQ9xxo6Ucq7BX7dlvFT+1FDlkTipj7lxhMen0OuXk+hk2DmpGQ6lTAl/nELD+Rmti1u5l2VGl+pUdyyVJfEQRJjx5neaYm2We35V+OMURq86z/WQx8ztUYvhTVwLPt83HEVQ9KAIymvOi2TCW7uA1wCxGrGtrP8YnVaYgi6tg/N/ZGyXDERr3yeO9AoNs4bynl0iclMcPGDwX1AqF5/GE4LOwdq3wbQ0jNgporvyS8Qt2DhYlGXptECEPmf+9i7LsO9jOLdE+IyaTxW960/9L/tYgzeRJJlhvq57xrbSLiQZlkYbcQcrKTn/88pEWp/l9P/PkVth8Wx+pwke5a05fjuC4cvPPT1m7ZhGTyOvboXFM261D4HRSQB81q0mo5vnXfnhZthjRq84T2yyml8G16VtdYc8z1HIjiIoelAE5TVmUd2suRT5pe5QISIuTUH1TI+LzI50/2PCKZ05Y71iM2gyCVybZW1S9QStRgjJ+T+gWlfos7RgfdhDLsGa3mBoKlYqZd3zf25KnGjkdXs/1BkqSusbZXI+63SiDbDvZuj+M9QfKXw4fw3JNtQGs4HMj3sLX+NRGds0bVigGYQxGtykULxUd5lptCH/8wNqpCznx6HNqOpgydd7b3Lohsi56VDTgd+H1sdAJZGQquHnQ7f547+MyLqt7zahfsW8izUevx3BxHUXMTcxYNmIBniUL+Q2z28QiqDoQRGU15TYQPipdsHOcWsDA9eD8TNd93JypJdyFlnzt/eJz2MOipVITqQ8Fg72u4eg6f9B+89FYmNBeXQdVvcUprjhO8HRI//n6nQiu/3YAhFSPGCtSLB8glYtmoDdOwz9Voo6Xr5bYOuYbENpDC0wnHYDdk8VDcWAONmc2epR7NI1BSTqS7fYalKwniqz65xk/blAtDrxHJrctgpTO1ZDlmX2+Ibyxe7rPHqcER69a1IzPJ3zjuDbeC6QT3dco6q9JStGNXiaDPkmERSdxL5roez1DSMgKpETH7fFwuT5ghAUQdGDIiivKQU1dbWbAy2mivcpcbk70t1aCfExt4VV3SHytmj5W6lFzuPHBgofSORtsTKoP/J57iqDyDuwqgeok2DYdmFeKwg394rViqEJ9F+VkQUPIqt+TS+xGhqyWZjszi+DPVO5hStGqHEjo2rwCucviLp/lWlGGSVcjmtrM0szmkDZgSkGW/nAaGuBpudtuJXIhFR61y3PD/298I9MZM5OP07cjcTc2ICkNC1lzI1YM6ZRnqsMnU7mu39usfjoPVq5l+XXIfWwfM6HaEnkfmQie31D2XctlGsPRTi1oUrinVaV+bCj+3MXwFUERQ+KoLyGHJyTvb5VbniPFs52/2NCRHJzpD9ZUaQmCNNTyCXhUK/aPufxg31EwqImDQasFg/owiDmgRC05Fjx4HdpXLDzI26n+1Xui+6RDcdn+FWSY2BFFyGEI/7mVIoL51bP4n1pA7EeIyhdq2MWU9hD2Za/NG2YYrgVA0k8P1JkIxZperNM24U1xl/TUJVDj3s9fKR7j7uO3Vg+sgFLj/vzx3/+mBoZ0LtuefZcFYUe141rlGtIMECKWsuHm6+w52ooQxq58HmPWhgavP6teu+Gx7PXN4y9vqHcDIvPsq+xmw1f9PSg6gsmbiqCogdFUF4zYgLgZ8+CnfOkD8kTR7pbayEizzrSn6BOFu2CA06Jb/c1umc/5gnXtome8VaOMHiTyCcpTOIeit7wj0OEsLm1Ktj5KY9h+wS4tVf4jbr9KKLBQJRWWd6R1KR4eibOQmtThe3uB7C88JvIpm8xDb7K6tC+pXPGVXqEERruy45UVoVyW1eeXzS9mG+yCks5Qc8k9LO+01V+PXqPh7HJ9KlXnj51nZmy8RIqlcT6sY3yfCBGJaQybrUPFwNjmdmlOuNauL2W7ShAlNm/9UiIyD7fUO6EJyBJUKWsJQ+iElFrZcpamTCraw16eJUrlN+DIih6UATlNeJ5SqvYuImSIm6tRTitPkd6ZjRp4pv5nYPCoe7ZP+e5HP9eFGN0aQID1olEx5dB/CNhooq6J3wi7h0Ldr5OJ3JRjs4X9b8GrHsalrzj0HGa/zcE2cAE4/EHsXZwhb8nw8XVfKEewnJtZ34wWkxvg5PZhn0sm7FJ25pOBudxliKJlS0oLSUWaGpvWf/NF708MDc2YNiys5gYGrB+XKM8G1zdi0hg1IrzPHqcwk8D6tC5diE1UStGyLKMX8jjdHNWGPcjE1FJ0LCSDZ1qOZKQqmH5yQfEJqUxoqkrH3Rwz9bB8kVQBEUPiqC8RmwdJ5IQ88ukC2BXJf/HazXCqX5jV0YUlD40qbBrMlzdKLou9vif/pVOYZIYBWt7C4d93+VQs0fBx7i1X2TXGxgh91vJj3ccWHTkLqPc4vgs6iMkq3Iwej+YWnPjl37UiD7MdPV4Nmtb8aHhZv7PcIfeYWeqx1DFMJzh0h4M0RVoStoW07nmPolhy85iZWrE+nGNqGhrkes5Z/yjmLDmAoYqiT9GeFPP5TnykIopsixzJTiOfb6h7L0WSlB0MgYqiaaVbens4UTHWg6EP05l9s5rXAiIoX7FMnzR04Oa5XI3DT4PiqDoQRGU14TL64VpKT+UqSQisizL5n98nQ52vANX/xJ5HI1zuFZilOiuGHgK2nwqTEOvysySHCtMcQ8vQO8l4Nmv4GNE3kXeOBhd5F2+VA8msc5Y5vfxxDDoFKzpA44eyMN3Um3OYf40+p5mqmtMVE9hv64hEwz+ZkYOYcIL1X05rKvHT8a/4S4F6z0mJ+rK67G0MGP92MZZerzrY/ulYD7achUXG3NWjmqY5/ElAZ1O5mJgDPuuCXNWSFwKRgYSzarY0cXDiQ41HShjYczjFDU/HrzNqlMPKG1uzCedq9O3nvNL6+NSIgRFkqROwM+Ijo1/yrK84Jn9I4Hv4GmYyS+yLP+Zvm8EMCt9+5eyLK/K63qKoLwGxD+ChfnMxzC3g7GHwKYArY9lGXZ/ABdWQNvZ0HKa/uMibsP6/sKf0XuxyJZ/1aQmiACAByegxyLRVbIApKi1fLz+BF3uzuMtAx9kz/5I3X4WodQ398BfQzmuqcVY9TQM0LLW+Gs8pPuMUU/nhK42QwwO8YXhCs7L1fDXOTHI8N+nY8cYluXPettxPjU7y3aAvzStGWB4NMd5hbwfRrnSOYf5yrLMz4fv8NOhOzRxs+X3ofWxNi+53Ui1OpnzD6LZ5xvKfr8wHj1OxdhARUt3Ozp7ONG+hsPT+5NlmV1XQvhyzw0iE1IZ3NCF6W9Vo7T5y21VXOwFRZIkA0RP+Q5AMKKn/KDMfeHTBcVbluVJz5xrA/gA3oiyqheA+rIs6+mfmoEiKK8B+Q0RNjSFMf8IP0F+kWU48Cmc+VVkj7efo/84/6OiVL2BMQzckL9uji+LtCSxSrp3WPRwaTQ+X6fFJasZt9qHc/ejmdOtOqN02+DIVyLXZsBaKFOR6Z9O5zujpezWNmayehKWJPGX8Re4SOEMTZvJJbkqPVUnWGj0O9fkSkxS/x9bjefiIGWUcfmw3GoWuJzH6EzWLPy0Vp9ifCyHmmLeo0XAgL7b1ej4ZNtVtl18yNv1nPm6T22MDUteJJdGq+Ps/Wj2+oZywC+MyIQ0TAxVtK5Wli61nWhb3T5bxeQ7j+L5bKcfp/2j8HS25oueHnhVKIQWDfmgJJSvbwjclWXZH0CSpI1AT+B6rmcJ3gIOyrIcnX7uQaATULBUXYWShb6+HTkxeFPBxAREfaszv0Kjd0RJEn1cWAV7poqeI4P/gjIVC3aNwsbYHAZtEHXC9k0XuSrN38/1lEePUxix/Bz3IhJYNKguPbzKAdPB0Qu2joWlrdG8vZzN2taUJoFPjdYTK1swSzOa4Wkz2Gz8OSuMv2VA2mx26pqTpDblF6NFLDNeiP20swQH3cd5UycAFoYM53qYO+FaL1obXMmY9rGvRNXm0MvZJ+izHFp9ImqZZSIuSc2EtT6c8Y9magd3/q9tlRIVyaXW6jh1L4p96SISk6TGzMiAtjXs6eLhROtqZfUmHiamalh05A7L/ruPubEBX/byYFBDl2JZ3LIoBaU8EJTpczDQSM9xb0uS1BKxmvlAluWgHM4tr+dchdcFrSb/VYT7rSx4SO1/PwjBqjdc+E2efVDpdHBoDpxaBJXbQb8VeUeJvSqeJCxunyDmqE6G1p/o9ef4RyQwbNk5YpPSWDGyYdYuhe4dYfy/sHEw0prejDEYzB/arthI8bxr+DdRlOJHTT+Gqmewxfhz1hgv4O20ORzUeTPTbDbfa79Bt6wT09JmciZlPX9bLaC2+io1dbepmZ7So7ZywSg+vZikPjF5wkJ3mJvRHTMwKolRK88RFJ3MTwPq0KtuyfhzT9VoOXEnkr2+YRy8HsbjFA2WJoa0q2FPZw8nWrmXxcxYfwUFWZbZfy2MebuvExqXQt/6znzSuTp2li856OMFKEpB0Sevz9rf/gY2yLKcKknSO8AqoG0+zxUXkaTxwHgAFxeX55+tQtHyRT7DcLt8LxIXC8LZJXD4c9HvpNtP2R/EaYki0/zmbmgwTghObm19iwIDI1ES39BUlFpRJ0GHeVnu5UpQLKNWnkcCNoxvrL+EiW1lagVN5zujJcw2Woen6j6fqMdShnimGG4nRrZipbYTw9JmsMl4HuuM5jOcebw7eiza5MakrHybhbpPGCbNoG/yTD6vm8BA37FPhzeKDxQdKYPP531P6wfA4L+4GBjDuFU+aHQya8Y0pJHbSwrJLiRS1FqO3Y5gn28oh2+EE5+qoZSpIR1qOtLZw5HmVe0wNcq9DM/9yETm7PLj+O0Iqjta8b9BdfF2zbt+WVFTlH8VwUDmutzOQEjmA2RZztxs4Q/gm0zntn7m3KP6LiLL8lJgKQgfyotMWKGIOPZt/o5rOR0ajivY2BfXwL6PoHo36LU4e72txyHC8R3mC52/hUYTCjb+q0RlAD1+EcmKpxaJlUrnb0Gl4tjtCN5dewFbS2NWj25EJTv94bjRiWkkYsZ76im8p9vFNMNNVDV+yLvqKZSWEplrtJoY2ZKduuaMTPuIdcbz+dv6BywtO9FuTQqmKTNZbbyAHWZfkth/C6sfVKJF6o8cM/kQ1ZMw4vyICcDt/Rw5e5F3/36EQylTVoxqQOU8clKKiqQ0DUdvRbDXN5QjN8NJStNS2tyILrWd6FzbkaaV7fLl60lRa/nt37v8fswfY0MVn3WryfAmFUtMxn9ROuUNEWasdogorvPAYFmW/TId4yTLcmj6+97Ax7IsN053yl8AnhQ1uohwykfndk3FKV8CSYyC7/JRur3ecOi+qGBhu75bhM+gSjtRKPLZ/JHQK+Jbcmq8yPdwf6tgcy8qZBn+mQWnf4G6Q9lR4WOmbblGVQcrVo1qgH2pnFveun6yJ8vnVqorLDL6HzpUfKh+h7EGe2mgusU49VSO6uoyv040g+58yGV1BYakzSQJU9b2KkOzU2NRJ8czMGEq1Ru256uOTkjf5dAWIA/edtjH0mH1sS1mpp6EVA2Hbzxin28YR2+Hk6LWYWthzFsejnTxcKKRmw1GBRCCwzceMfdvP4Kik+nhVY5Pu9bAIZd/q1dJsXfKy7KskSRpEnAAETa8XJZlP0mS5gE+sizvAiZLktQD0ADRwMj0c6MlSfoCIUIA8/ISE4USiCznT0yqdYWuPxZMTG7uEWasis1Ed8NnxeTmXlF118wGRh8oWJXfokaSoOOXojPk8W+RfPxpVHEmi0c0zjV7+lkxATim86J72lcsNfqBP4wW8ou2F1ZyEouNfma+7dckO7dj/NWJLDb6iaVGC6n7yUEsLCy4armRUpv7sd50AUZl1EjrDzz37WwquwIDSz2NwoqAuGQ1h288Yq9vGMfvRJCm0WFvZUJ/7wp09nCiYSWbAjvLg6KTmLf7OgevP6JyWQvWj21E0yr5bP9czFASGxWKL/s+gbOLcz/GpYmowGtUgPLkdw+Jsu2OnjB8B5hkqhMly+Kb/T+zRcn3QRuzRRuVBGRZZsH+m6hO/MTHRhvRVuuGQb8VYKg/XyE+RU3tuf/kOJ45KXxrtIRuBmc5qa2FmyoUCymVfqmzuSW7MNjkJPOlX6F6N4LaL6bX4rM0NPJnccpHT8eYpp5AhGtPlpXbieH5JQW7oQ9v5b8dciETm5TGP9cfsc83lBN3I1FrZZysTens4USX2o7UcynzXAmFqRotfxz355d/7yIhMbldVcY0r1Qsw6CL/QpFQSFXEiPzFhP7miJktiBi8uAkbBwqCjcO3ZJVTLRq2PMhXFwleoP0+j17v5QSgFqr45Otvmy9GMyQRpPQOdbB4MAnotrwgDV6f1+5iQlAEqZMUk/GV7ebjww3kogppUhmtfECJhjPZ8r/fQbXK8D+T7h/N4Z3tWUZzb4sY1RxsuHLkY0xNGoGZVzgn0/zf1MLq2WJ+nrZRCak8o/fI/ZdC+X0vSg0OhnnMmaMalaJzh6OeDmXfqGs9BN3Ivls5zX8IxPpVMuR2d1rUj6XZM6SgrJCUSie5JXAaF1BJC7mp53uE4J9RLOqUuVh1F6wyGRWSI6BTSNESfsWH0KbWdk7OJYAktO0TFx/kSM3w/mgvTuT26XnalxYCX+/L3qhDNqYpXOkPlNXbrRQXWWJ2a+Ya0Wp9NRSFTEZfwitqQ1xX1fDRhspDvQcwF+lRjHv0EO2ll5EtZSrSN1+EImLkD6nKQDoDExRaVPyvvhLFJXwxykc8Atjr28YZ+9HoZPB1daczrWd6OLhhEf5Ui+c9xIWl8IXe66z52ooFW3N+bxHLVpXsy+kO3h5KCsUhZJLXmJiVgaGbiuYmIT5wto+YFFWdD7MLCbR/sL5Hn1fRHrVGfx88y5iYhLTGL3qPFeCYvmqtwdDGmVKuqw/UvR82fGO+D0M2Qym1qRpClbAEWDW5El8s782A/1nUEMViMnjAPi+KvHGjhliApyLt+Xjc9F0qlUJt777kLaNEmVtUuOh2RQxp+QYODQ3f2ICEBectevkCxIal8z+a2Hs8w3jfEA0sgyVy1owqU0VOtd2orqjVaEkT6q1OlaefMBPh26j1sl80N6dCa3c8gwfLmkogqJQvIgNzH2/kbnomFiQ/uoRt2B1LzC2ghG7oFSm8uYBp4UpCFn4UzJ3MyxBhMQmM3z5OQKjk/htSD06eegp4e41QAQfbB0jOkAO2477vNMFus6NeZ34/dg9Vt2UcO6wgRp33oWwqwCUTgtja8XZvD1iKjd/H0rD+7/xnYshvQZ/LqKdBqwVyZcHPxO9WdrOYpWqN6W1/9DT4FT+JvBjrRdepQRFJ7H/Whh7r4VyKVCUianuaMX77dzpUtvxhZtRPctZ/yg+2+nHrUfxtK1uz9zutXCxLXmm1PygCIpC8SLX3vAS9F8NznmuvDOI9hdmLkklVialMyW3XvkLdk0S2wZvAtvnC2stam4/imfE8nMkpGhYPbohjXNL/KvVS/hQ/hrGjQUtsWMmkeQv4//49Db8cz2Mnw/fYahXKcamrYHwrJWS+iRt5sdDXfglcCA77WLpF74I/GqLXjKGxvD2n8Lc9t/3nL0ZwNygnrSvPpfuj99FFX0vfze8prcIxCgADyITRQXfa6FcDRaC5FG+FNPfqkZnD8c8e648DxHxqXy99wbbLj2kfGkzlg6rT4eaDiWqXExBUXwoCsWH1T1F4cWc6PU71BmU//HigmF5Z0hLgJF7wKGm2C7L8O98OP6t6BvffzWYF/8sZH1cCIhm9EofjA1VrBrVMN+9MLR3/yV1zQBCZRsGp33KI3K//xUjG2BtbsTQpSeYXuYEI9UbkVIfE19rCD38WuFt+pDvkkUxzQjZmu89djK/Z3UM1qd3uxy4Dqp1BiApVc3J3ybQIW4rl2y74PnuagwSwmBRXdCp83fjs6PyrFZwNzyB/ddC2esbxvVQ0V/dq0Jpung40tnD6aWtErQ6mbVnAvj+n1ukqLWMb+nGpDZVcyyxUhIo9tWGiwJFUIoxqQnwdS71mTp8Ac0m53+8+EewojMkRggzV7m6Yrs6GXa8B37boO5Qkb+SQyhtcefQ9UdM2nARJ2szVo8uWD8Q10/20EC6yXLj74iWrRii/pRgWX/PmCntqtKvfnl++OVn3pfX4CKHgFsbElp/Ts/NMUQlprHjvWbsPnaaSb6ZyvjPiRVivqoHPPKDoVsJt2vA2FU+XHsYy9Ya/1HX/3eo0UOsXG7vF1Wc88szpi9Zlrn9KCG9q2Eotx+JFsT1K5ahs4cjnTwccS7zck1NFwNjmL3jGn4hj2lWxZbPe3hQxb54ZvcXBEVQ9KAISjEmN0d84/eg09f5HyspGlZ2hZgHMGwHuKTXHE0IF/6S4PPQ/nPhGC6h5odNPkHM2OZLrXKlWDGyQYGyyNsuPIp/hGjP6yXdZbXxAhIxZXDapzyQs/peWlcryy9tjbizZjJ1NVdJK10F4y5fo3Frx+jVFzh1N5LVYxpy4FoYq04HMK6xI59ebpsxwIxg0Up5ZRe0scGMl+ZwKtmF/w2qS/uaDnD6VzgwUxTcHLAW9n8CF1eTQ2m+rEw4juzoyfXQx+zzFT4R/4hEJAkauNrQxcORTh5OOFq//GzzmMQ0vtl/k43ng3AoZcKsrjXp5un02pi3FEHRgyIoxRT/Y7A6hza25b1Fx8X8hvCmxIlvxOE3YMgm0T8eRLvc9QPEiqXP0udrm1sMkGWZxcfu8e3+W7SoasfiofWx1FPyPCeS0jTU/Cxr1noNKYC1xvPRYsCQtJnckUUUlZNBHP/WO4Gx73riZAuivKdSpctkMDBi7i4/Vp56wPzetbkWEsf6s4GMa1GJmV1qIMk6mJfJhPZ/FzkbnITztt5YSClE9N1BVY9Mz6aLq0UbZZcmoorzqu5C/FNiyYtWFjsIiEpCJUGTTK1x7a1eTckSnU5mk08QC/bfJD5Fw6imrrzfwb1A/yYlAUVQ9KAISjElt9XJrIj8m6TSEkXr2ocXhM3+Se2tO4dg80gwthCJkOXr5TpMcUWnk/liz3VWnHxAD69yfN/Pq0BZ1VqdTOWZe/XuqyIFs8HkawxkNWPTptFYdZ0PzfeAJpXl6o6U6jiDAS09AVh7JoBZO64xqpkrCSkaNl8I5r3WlZn+VrWMb+SaNGHC1KYBMFY9Ha1NFf7UzsLA0Fj0q88cIHFtqyiF4+AB7eeKbpgW9vA49xbC103qcLXdGjrUdHjltb6uPYxj9s5rXAqMpaGrDfN61aK6Y+H3cy8OKIKiB0VQiiG5icknQWCazz9QdYp4CD34D/quENFMAOf+ENWE7WvB4I2FmsPwKknT6Ji2+Qq7roQwqpkrs7vWLHCmdtVP96LW5vz37iqFctTkw6efgxzaMiywK62bNGFuj1oAnLwbyfDl52hWxY7SZkbsuhLClHZVeb991WzmHV1KAkkLvbBUi9yU1BYzMKnZBVZ1E+2ZR+8Hy0xJfbcPCB9KGVeo2hFOLSLVohwmiVmKkGfnFZdliUtW88M/t1hzJgAbC2NmdK5Bn3rlXxvzlj7yKyglLxVY4fUh9ErO+0b/k38x0aTB5vQs916LhZjotLDvY9g7TTycRu8vsWKSkKphzKrz7LoSwsedqvNZt4KLyZ//+ecqJnWlO/xglLXUzcfBzXCp6smsrjUA0Zzr3bUXqGhrjkqCXVdCmNbRnQ86uGd7mKaotUzedptm8fOJMhYJqCb/fQ3HvhGVm+NDxWoyOZNZy/0ttIM2o40JIsZnM/cpj5TwiDhZf6n9pyysVoDfxPMjyzLbLgbTbuFR1pwJYGjjihz+sDVv13d+rcWkICiColB0LGmpf3ujdzIc6Xmh1cC2cSJCqOsP4DVQZGJvGAhnf4fGE0VpepOSGWkTmZDK4D/OcOpeFN/29eTd1pUL/PDa5xvKl3tu6N1Xjkh+M/mV7SZzcJYima4ez72h57hHeZYbfcPiJrEYGqiIS1IzZpUPMmBmZMDRWxHM7FKdSW2rZhszKiGVIX+eZffVUN7r7I3NxENgnW7eurkb9s8UZq2Im7B+AOqUBI7fjmDGtqs0WJ9Kn8SPkVIf40IYxpKWUsYyqAxFv/ucOP1rgX4nBeVWWDwDlp5h6qYrlC9jzq5JzZnX0wNrs5yrN7+JKCYvhaLh18YQoechZ2ACn4Zmb3SlD50Odr4HVzZAx6+g6SSIDRLO94ib0OU7aDCm8Of+igiKTmLYsrOEPU7h18H1aFej4FWPfR5E0/f37NnwFiTzruEuxhoIn8oSbTeWaLqzdUoH3lt3EVVSJPtsfsA45g6at1cw4pQdJ+9GYW1mRFyymjndazKqWaVs4/pHJDBq5XnC4lL4cUAdutROjxqLugfLOkKSMH/JJlaEObXH4cFOTuHJqJSpGBub0LaGA108HGldJgKzDW9DYrg439AMNMnQdlbOraA/fQRGheuMT0jV8POh2yw/+QArU0M+7lSdAd4VXqgwZElE8aHoQRGUYoJOB/PK6N836QLYVcl7DFkWlYF9lkGbT6HVRxB8QaxMNCmix3rltnmPU0y5HvKYESvOkabRsXykN/UrFjzx8l5EAr1/PcnjFM3TbSp09DU4xjTDzdhLsWzXNuNb9UBCsWXlqAYsOebPhYAY1o1rRAN7kNe+jS7kCpPTJrJH1xiAL3p5MKxxxWzXO3c/mvFrfDCQJP4Y4U09l6z/xqmBFzFY3Q2NTkekzhJnIgiTbXGUogir0IXSQ1dhapIpACPqniiZE5dejkdSgWQA447Aklq9bMQAACAASURBVBb6b7qQikfKsswe31C+2H2dR49TGdigAh91qo6NRcnMWXpRlOKQCsWXnMSk41f5F5ODs4WYNHtftP712yHqRFk6wIi/wb564c75FXLGP4pxq3ywNDVk/TtNnqu2VER8KiNXnMsiJk1Ufsw2XEtNVQA+OnfGp03lsix+34MbubD/Whin/aP4ob8XDdL7l6+vtoiqwWNYZPQ/TDVpNOw1kQENXLJdb8elh3y05SrONmasHNnwaRZ6cpqWY7fD2esbxuEb4dTWfMAq429QmVoTblcPx2ARwuwYtBf+mQ7dfsrIDbKtDKP3iQTV2ECQdeK1/R2Y5AO/6Hm+hV174WZo9yISmLvLj//uRFKrXCkWD62fTRwV9FOkgiJJUifgZ0THxj9lWV7wzP6pwFhEx8YIYLQsywHp+7SAb/qhgbIsl8zEgjeNEz/q3+7oCY3fzd8YRxfAqf9Bw/HCFn/iBzg8Dyo0Ev4Si5LZ7Q5g/7VQJm+8jIuNOatHN6Tcc/TISErTMHbVeYKikwGoJIUy03A9HQwuECzbMTFtMnt0jYAMs00lWwu+2nuDiW0q06eeCF44eiucT/cFYsbHLDX6gYVGvwPuQIYZUZZl/nfkLj8cvE2jSjYsGVYfIwMVf18JYd+1UP69GUGyWouNhTE96pSjs0d9DNTVKbdlOJi4iM6SB+eArBXl7M3KiH/TJ1g7w9gj8LMnqJPEtnA/cWyLD+G/hVlv/vdmIkP/OZzkyWlafvn3DkuP+2NqZMDnPWoxtHHFAndgfJMpMkGRJMkA+BXoAAQD5yVJ2iXLcuZqc5cAb1mWkyRJehf4FhiQvi9ZluU6r3TSCi+GTgeH5urf13dF/vwmJ3+GYwugzlBRjmXHe3BlPdTuBz1+KXQb+v+zd95RUV1fG34uTVTsSBG72BDsYO8V7D12NMZY0vNFE0vUVJNfjIlRo8ZeYu9G7L13BWxgB6lSpMMw5/vjDEUYYECK6DxruWDmnnvnqDOz7zl77/fNT9ZfeMLM3R40qlSala6OlC6W/e0VVaKaTzZe56ZPOKWI5BOjnYwyPEQsJvyS8B4rE7sTx6vX/fO9hny2+QbO9lZ82UVWTHkHRuC6Sjpsx2BKWN91cPdr+O8LuaXYYjLxKjXf7JBGXl3sLOliZ8mUbbc4eT+IOJUac7MiDGxSEWcHK5yqlsUo2V+9F8QtkMKcpqWlyvPWMTK/cma+fK71ZykTNCsPX9yBX1Jts51fJMU+0wYUgM0jZB9SNjh8O4DZezzxDYuhfyMbvnGpS/kSb5aHfWGgIFcoToC3EOIhgKIom4A+QHJAEUIcTzX+AjAiX2eoJ3d53a2uS/9I6XP7AfIudn1/eHIW2n8D7aYWWhkVIQR/HvXijyNedKxjwaJhjXMkJCiEYPZeT07ceY6r4RE+NdpBSaLYnNiB31WDtKoKz+3vwDc73LGvUIrfBzfEwEAhNCqeQakS+YuHN5bJ9QbrYcc4ODiN2OhI+nu0TBZdPHEvkMO3A7AqacpQp8q4OFjTpEqZjO/uG4+EmBD5/1msLHx4EjYNB78bcGSWLBlPMuICKFoavvFNpfcm5M3Eh6fSVwve3Sfl8XUoO3/6Ipo5ez05ejeQWpZmbBrfPHO1Zj2ZUpABxQZ4luqxD5BZrej78IqnqKmiKFeQ22FzhRC7tJ2kKMp4YDxA5crp93715BOPTmt/3qKebltd1zfInpLaLjJnsrIrhPvCgBXgMDB355qPJKoF3+72YMPFpwxoXJG5Axykd0gOWHLiAX6XdnLabDPWKh9OJ9rzg2oE94T2931rW3MWHPWipKkxy0c3paiJIfEqNe8tu0BotFT9XTayCV3raZoGjUwIcV6CX2Ac9U7/hIuqD7cZjE3pYjjbW+HsYE2jStmwxm31qbR6PrdA0+h4EPZ8DO5bpBGXYiBNuJIoYgb/5wW/aUqVX/rAuYVy2+zQjFevPbdSpgn62IRElp58yOIT3hgaKExzqcOYVtVy/G+vR1KQAUXbu05ryZmiKCOApkC7VE9XFkI8VxSlOnBMURR3IUQ6QwUhxDJgGcgqr9eftp5so1bL7mhtDF6T9VaXx3a5PVK9gywDXtld9iWM3qt7v8obSGxCIp9tusEBT38mtKvB1O61c9wgd/zkMRyOzWCiiScP4q0Zq/o/jqkbof1jJomMUxEancDWCS2wLGmKEIJJG65xL0Ba+65ydaRDHQuCIuI46Cm9RM56v0BhBD8axfGR0W6GNDDHfMBvKDm1S+7ynRTzPDlXrlT6L5P9JodnSnvg+ChoMTllvJkFuO6H1S7ysfsWKbFTogJEpOmo3/sZ9Poj3UueuBfI7D2ePH4RTQ8Ha2b0rIt1qcLv5/4mUJABxQeolOpxRSCdxoKiKJ2B6UA7IURc0vNCiOeanw8VRTkBNAJ0dOjRk69kuNX1A5inb4x7hXtuUuOpUnO5Ovl3CJSzhWGbpURHIeVlbAIfrLnCxUchzOxpx/ut0/d06ERkIAG7ZtLWazPRRmasKz2ZOX7NUGXx0e5ez4oDnv4sGdEEexu5FTbX7S5H7gQA8NugBjwNiWbI0vNceiytcZMQGOD08Tq49gPlLy4BU7VsKs1JUFEU6PWntAJ2mwJFy0qbAvNasHGIVCKO8JPvlSSqtpLbnCc0CtTb35eW0Ov7v3rtq6ugx7zkG5bnYTF8v+82bh7+VDMvztqxTrStpV2yX0/OKLA+FEVRjID7QCfAF7gMDBNCeKYa0wjYBnQXQniler4MEC2EiFMUxRw4D/RJk9BPh74PpQDwu6m9I968Nkw6n/nq5MFxqc9lWQ8qNJZlwtU7yFWNqW4ug28igS9jGb3qMl4BEcwb3IA+DTPxgcmIhFi4sAj1qXkkJsSy26QnlfrMYsi6u1me2rx6WS48DGFq9zpMbC9dKjdeeso3O9zTja1laUZ3e2t8Q2PYcd2HRpVK88+oplKIUQg4Okcm0hsMlUURWZheZfr3WT8Anl2AoZugZpdX3zu1nGWiPen9ok6E1T3haSrr4HZfy5VOGuJnhLLy7CMWHPVCLQQfdbDlg7bVKWJUeA2v8ptC0dioKIoL8AeybHilEOJHRVG+A64IIfYoinIEcAD8NKc8FUL0VhSlJbAUUCPlY/4QQqzI6vX0ASWfSYiBHzMQ7Zt8OXNf+Cfn5R1nCSsoaSNFH5uOBedfwbDwyl08Co5i5IqLhETFs2REk+zfIQshzcEOz4bwp5wycOIPg5H8OWkgbX49nuXpSQxoXJHfBtXnWUgMU7ff4vzDF8nH7KxL4uIgvUSqlivGrD2ebLj4lB4O1swb3ABT41RfxELAqd/g+A9g11caZeX0/yc2XAaJYC9ZwVW5GQR7w8Im8ng5Wxh3VCboQaoiLGklz0uiZMV0CsWuxRdz4kVpOte1ZFYvu2wZkemRFIqAkt/oA0o+82cDaXKVlqzcF32vwpo+cjukSEl46QvdfpLJ+0JayQVwyyeMMasuI5D5iQaVSmfvAj5X4MA34HOJRAt7ZkQPZc9LWzZ/2IJ5h+5x/F5QlpcwMTKgVFFjhjlV5ujdADx8XyYfa1CxFH++14iq5lKMMTJOxUf/XuPEvSAmtKvBlG61M064n/tLJsZrOcOg1Tkv344MhJXdIPoFjDkgbZuD7sMiR3ncqCiMPw4WUrCS27t1cnk8OuR+jqRr9Ej0asN6CpZ7B7QHk7LVX02ypsXfQ6rQxkdIkceYUOlh0mJSoQ4mp72CeG/ZBUyNDdk2oUX2gknYM9g+DpZ3grAnqHr9xdgiv7ElpDqLRzRBCHQKJiBl8IMi4vjzqBdPXkQnP/9DX3t2f9Q6OZj4hccw8O9znPYK5uf+DnztXCfz6q2WH4PLb3DfTcrfxEdnPDYzzCyky6ZxMVjXT76HyteC8SfkcVUMLG4uAwmAXR9oPDrLy3a69lHO5qMnW+gDip7cJzJQJlS1MXRzxnmTYC9Y1zfFqa9kBSk7X9s5b+aZT+y+4cvY1ZepXLYYOya1pHp5HZWP4yKlEOLCpnBnL7T5P8RHV5j2qAEnvUL4uZ8DbWzN6bXwjM5zKVvchFm97NgwrhkRGlmWSe1rMCKVNpeHbzh9F53FJzSGVa6ODHXSsdze6QPos1jaCGwYKG8IckKZKjLJroqVQSUyECo0Atf/UsZsGQVH5shcSvefZRI/M7wOgSou8zF6Xht9QNGTuwghG9S00XlOxnmT0MfSujdKc6dt3VCKAFrXz5Np5hcrzzzi0003aFS5DJs/lOW5WaJOhGvr4K/GcOp/ULeX1K7qNJMFZwLYcsWHTzrVZLBjJUavuqTzXOYNasC1mV1obWvO8OUXAXBxsGJK9xTds2N3Axi89DyGisK2iS2yn+NpNBz6/wNPL0hhx5jQ7J2fhKUdDN8KEf4yWR8bDlVbyxuSJM78Dv8OJuRlJL+X+po4kUVBwA8WmR/X89pkGVAURbFUFGWFoihumsd2iqIUXk1wPXnLpX/AR8uXXKnKcltEG+G+sKpHSh9B3V4wZn++uvDlNkIIfjlwl+/23aZbPUvWjnXSzTvj0SlY1k723ZSuAu8fkYnu0pXYeuUZ84/cZ2CTinzeuSY3n4Vx2itYp/l836ceA5pU5K7/S7rMPwVAXeuSLBqWYoe89vxjxq25QvXyxdk5uVXO7WwdBsKQdeB/S/rDR+k2x3RUcoLB6yDwNmwcJivBaneXAUvTXyO8jxK1sA1H7gZxqmoG76/UBHhmPUZPjtFlhbIaOAhU0Dy+D3yW4Wg97y4Bt8HtK+3HRmzTvtUVGQj/dEipzGn1GQxaK/3fCymqRDVTtt3i7xMPGOpUmcXDm7xaGaWNFw/kl+aaXhATLl0N3z8ElWQyWhpQudOmpjk/9rPn8uNQ+iw6q9N8XFtWZWSLqnj4htP9D6lYUKqoMTsntURRFBLVgu/33ebb3Z50rGPBFl1XUplRp4fMfQV7weoecqWRE2p2hr5L4MkZ2DZWGqrVH4xvyzkAPFZbUMIgnn1FZ9PFsb5050yinJYep79b5mweenRCl4BiLoTYgizRRQihAhLzdFZ6Ch8JsbBpqPZjnWdDeS02rdEhsKAxRMpmOvosgi5zctYg94YQE5/Ih+uusvWq3Jb6qZ995mq1MaHSwXBRM5l76PQtfHRJ6pVpihBuP3/Jh+uuolILypcoQptfjjN4aXrTLG20rVWeGT3qcvNZGD3/Ssm1HP68LabGhkTHq5i4/iorzjzCtWVVlo5sSjGTXOp3tu0Mw7fJooJVzvJnTqg/SJaL3/uP+F0fM2PnLVoft+Vvg6FUMwigVJ22GFjXh21joLiFlHEBeOGl3RNn29j0z+nJFXR550QpilIOjSyKoijNgdxxsdHz9nB0jvaqLjMraKFlKyL2Jfyaqjt89D6oloFpUiEhLDqe99dc4drT0AxNqJJJTIArK2W3d2w4NBop3QjNUvb5VYlqdmh8RpLY7+6HWRHd+jxqWpixcFgjbvqEM3TZheTn933cGouSpgRGxDJuzRU8fMMzdGB8baq1kWrC6wfCKhcYvVtW+mUTteN47ng/pJ77EiqpXjK6xTSGd1kAp8qhnF8Irb8AS3vZ/Joav1vy+QCPlOc8tssmTBN9P0puo0tA+QLYA9RQFOUsUB4ovGp8enIf7yNwYbH2Y6P3pO+ejo+S4n1J6OrS+AbjFx7DqBWXePIimkXDGqdY36ZFCFlxdGgGBN+Hau1kj43GFCpepebcg2Dc3P3Zds2HRLXsE6tpYcbnXWrRytacBnMO6TSnla6O3PWLwHXVJeIT1QDJUiv3AyIYs+oyIVHxLB3ZlC52edijUclJvg/W9ZNBZdSezJta03DH7yUzd3lw5Ukb/i7zjA9j9kFZRyhaT0qyxITJBH33udD7L+nkmRgvT44O1r46/sk619wd9aSgU2OjRialNjITdk8IkZDXE8sL9I2NeUBUsKxGitXy4ew0C9p88epzCbHwY6ovrymPpChgIcY7MIJRK6Q74rJRTWhZIwODrwBPqU318ITs+u76A9TqTqxKzRmvYPZ7+HHkdgAvY1WYGBkQr5JBYKVrUzrWsUSVqMZ2upv2a6dh64QWJCSqeX/1FWIS5A71lO61mdTeljNewUxcfxVTE0NWjnbEoWI+ydgE3Ia1faTr4qjdWTorRsQmMP+wF2vOP6ZUUWO+7l6HgY0rYLBjnFQL6L1QyuAnqmCbqyyt7vu3LCH+d0iyfz0gdeDu7X/1BUbvhWpaZIH0pCPXOuUVRdHahiqEWJvDuRUY+oCSywgBG4fKZra0FC0D/+f96uokLgJ+rqh5oMCMQDAq3B7dV5+E8v6ayxgZGLB6jGOy0OIrRAbC8R/h2lrZ+d/+G2IbunLCOww3Dz+O3gkkMk5FSVMjuthZ4WxvxY7rPux392f+kAb0a1SRRLWg/W/Hk10YM+P3wQ0wNyvCB2uvEKcJSv0b2TBvcAO2XvFh2k53apQ3Y+UYR2xy4Aj5WgR7yfLwhGgYuRNsGqcbIoRgz83n/PjfHYIi4xjqVJkp3WqnGI6p4mWf08MTsgqsbk/ZY/LvYGmTMHgtVHSEJa0hKlCeY2AM1g3AN83nP4fuju8auRlQ/kr10BQp5nhNCFHotr30ASWXubxCOvhpY9LFV33dIwJgnmabo2RF+Nyj0H+Qj90NYNKGa1iWNGXd2GbJPurJJMTKrcDTv4MqhoQm4zhu6cru+zEcvxtIdHwiZYoZ09XOCmcHK1rWMMfEyID/HbzLouMP+KpbbSZ3sCVRLfh88w323Ewnxp2OD9tVp1m1skxYdy15m6tJlTJsGNeMv455sej4A9rUNGfR8MaUNC0gTbTQx5pqtjDZa1K5efIh78AIvt3tybkHL3CwKcUPfe21qwrER8nA5O8OI7bLXE1cpFwB+d/SXLeldHlMsg4uqlG9Tt0bU9ERxh3Ju7/rW0KeaXkpilIKWFcYPdz1ASUXCbonSzDVqvTHOs6QJlhJBN6RchkANk3hg6P5M8c8ZNtVH6Zuv0Vd6xKscnV61S5WCPDcKZ0Hw57iZ9WBv41d2fK4CLEJaszNTOhWzwoXB2uaVUttjQv/XnzKtJ3uDHWqzE/97FEL+HLLDXbdyDqYWJQownd97Pl44zVKFzPhZUwC5mZF2DKhBXPd7rL35nOGOlXiuz72BW8kFe4La3vDy+cwdBPRFVux4Kg3K848pKixIV91r8Mwp8qZV8hFh8jqsXBfcN0HFRrK51b3gNAnckvLpjHMyULmZuqTFMFJPVrJy4BiDNwSQtTN6eQKCn1AySVUcVJXyj+93DnGxeHrpylbXd5HU3wqanaVd46FGCEES089ZK7bXVrZlmPpyKaYFUm1redzFZXb1xj5XuKZSXVmxAzlZEI9LEoUSXY1dKxaVusX5bG7AYxbc4X2tS1YNrIJiqLwf1tvsvO6r05zmzeoAVO338LWwoyYhESCI+JYPtqReYfuceVJKFO712FCu+o5NvHKdSIDEWv7oA72ZorBV2yPrMfAJhX52rkO5mY6+rmH+0oxyYQY6fhobit7XlZ2k3m9MW5QwvpVP3pt6BP0mZKbW157SXFSNADsgC1CiK9fe5b5jD6g5BKHZkrbVm1MupCiBJt6S6xePxi4qlBvc6nVgh/332HFmUf0rC+l3JM8NcL8HhG+dzpVnv9HkCjF/1SDOVe8K93qV8TZ3orGlctkKq54yyeMIUsvYGshfc1NjQ2zFUymu9Rl7oG7NKxUmuJFjDjtFcR0l7qsv/CE5+GxzB/ckB71M6g8KyAeB0fxv13nmfD0S+oY+PCkw1/YthuW/QsFe0tLaOPi8P5BqQEX8kg6eyqK1IOLCJBjMmLwOrArdJsu+UZuBpTUtrsq4IkQwiej8W8y+oCSCzw8IfeptdFhOrSbIrWoDs1IKSWuPwT6LS3UwSRepearbTfZfeM5ri2r8m1PO0Ki4zl28xHGFxfQPXwrBgg2G/cmqMEkOjW0pUHFUjqtBp6FRNNv8VlMjQ3ZMakl5YoX4autN9mhYzBxcbDigIc/jlXLYm9TihVnHtHFzpLLj0MwUBT+GdWUJlUycM0sAGITEll84gFLTj7AxNCAKe2sGPnwSxTfa/J9Un9Q9i/6/Lr0UilVScr2FCsrq8pWOcvtrLEHZVHE8R8zvsa3IVnbUb+j6P1QtKAPKK9JdIjMm0T4pT+mGMqqLVWMlFq/f0A+X3+IlM4oxN3vUXEqJqy/ymmvYFxbVqWaeXEOuPtS6ekuvjTagqUSxp1yXTDoModate2ytaUUGhXPgCXneBEZz/aJLalmXjw5mLS2NeeMd9Y6WIoCrWqY06uBNVO3u2NqbIBaDRXLFmWVqyNVyr05MjbH7wYya48nT0Oi6d2gAtN71JUyL3GRUvb+8RnovQAaZ+1xko5Hp6SQpHUDWZZsUlx6yKzpLe2iR++FLSPhSQaSNQbG8G0Odcfecl47oCiKEkHKVtcrhwAhhMihctwrr9Ed+BPp2LhcCDE3zfEiwFqgCfACGCKEeKw59g3wPlIG5hMhxMGsXk8fUF4DIWDzCLi7T/vxiefBtCT8+x4EaHIrdn1hwIqc28K+AbyIjKP7n6cJipDS54oCzZTbfG/6LzXVD4m2aEzRnnNRKjfL9rVjExIZsfwit3zDWf9+M5pUKcNX226y45ovn3euxfwj93W6Trta5ZnQrgajV11K7l1xqlaWZSObpJTaFjA+odF8t/c2h24HUKN8cb7vY09L2zT9Ogkx8j3mfQSc/wfNxmf/hW7vga2jpeTKextlWXqSlbR1Aymvv7StvPHRxpf3oYTeiCstugaUDD/pQogSuTulV1EUxRBYBHQBfIDLiqLsSeML/z4QKoSwVRTlPeAXYIiiKHbAe0A9pGjlEUVRagkh9BpjecX1dRkHk3ZTpXfFP/0gUiMCWEujCltIg8mzkGiWn37ImvNPkp/rUD6CGSYbqfHiBJSoBJ1XUCyV5lZ2UKsFX265yZUnoSwc1ogmVcowZdstdlzz5Ysutdh3K+uqLoDOdS2Y0cOOvovPJgeTfo1smDvA4Y3wTI9Xqfnn9EP+OuaFgsKU7rUZ17o6JkZaVqzGReG9f6XWlttXsty3dTZ1aO16Q88/YO8nsGuifA/W6CBvbLaOBrcp0GchbM9AMH1eLX2C/jXQ+dOuKIoFsg8FACHE09d8bSfAWwjxUHP9TUAfIHVA6QPM1vy+DVioyP2EPsAmIUQc8EhRFG/N9XRTzNOTPYK9wW1qxsfL15GSGkl3fdXawaA1ha5p8XFwFPs9/HBz98fdN+VLxaVmUX4q60Zp91UQVwQ6zpSuk8Y5bwr82e0O/7n7Md2lLs721kzZdovt13z4vHMtGlcuw++Hs16ddK9nxS8D6uOy4DRh0VK84tNONfmsc803opLrrHcwM3d78DAoim71LPm2V72sGymNikgL4Z0fyrLrhBho/3X2gnaT0RATAkdmy1yK868y0PT+C3ZPhiIlpHba9XXaz7++HhqN0P319CSTZUBRFKU3MA+5EggEqgB3kKuD18EGSC0/6gOk3TdIHiOEUCmKEg6U0zx/Ic25NhnMfzwwHqByZR2d5/SkkJgAO8alNIelpf4QqfKaRKXmUrY8p57i+Yx3YCRu7n7s9/Dnjt/LV44ZoeJs5ydYXp0Pz0KlzEeHGa+9JbL67CP+OS3Vfce2rsbU7SnBZHKHGjrJq/Ssb83vgxvSZ9FZfMNkIJ83qAEDmlTM4sy8xz88lh/+u82+W35UKVeMVWMc6VA7G+ZWhsZyZWFUFE7Ole+9Lt9lL6i0+kzKAp1fCMXKyaDUaIQsJT44DewHQtkaEPIg/bm7J4PD4EJ3Q/QmoMsK5XugOXBECNFIUZQOQAY65dlC27sjbc4mozG6nCufFGIZsAxkDiU7E9QDHP9JVtBkxK3NUi48OljatA7f8kZ7mQghuB8QyX53P9w8/LgfEAlA0yplmNnTDgNFrh4GlLjNd6abMD7jJfWeuv0EVg6v/foHPPyZozHdmt6jLlO332LbVR8+61yTTzvXpMNvJ7K8Rr9GNvxvYH1GrbyUHAQ3ftCcFjXKvfb8XoeERDVrzj1m/uH7JKgFn3WuyYR2NbL2gtGGgaFcURibyhL1hBi50tC1uENRNMKRoVLRuVg5aVHcYrLs0D/1K1TvoD2ggOxbma6l+ERPpugSUBKEEC8URTFQFMVACHFcUZRfcuG1fYBUkrNUBNJuHCeN8dEIVJYCQnQ8V8/r8vgMnJmf+Zhq7eDZJbCwkz7gpvkkNJgNhBB4Pn+Jm2Y762FwFIoCTlXLMqd3PbrVs8KqlCn/XnzK2t372VJ8Ew1jrkPRGjKxW9s5V0qerz4J5dNN12lYqTTzhzRk2g735GDyWedanLwfxKPgqEyv0axaWX4b1ICJ669y7sELAI580Q5bCx196vOIS49CmLnLg3sBEXSoXZ7Zveu9fnWZgQG4/AZGpnKloYqBXgt0L+1VFDk+JhT2fyWlVxwGQodpEBsGl5aBmWWKH09qEqKl6Vm5Gq/3d3jH0CWghCmKYgacAjYoihKI7Ed5XS4DNRVFqQb4IpPsabua9gCjkbmRgcAxIYRQFGUP8K+iKL8jt+JqArqba+vJmphQ2PEhGSz8JM0ny33oUjYwctcbpRoshOCWT3hyTuRpSDSGBgotqpfj/TbV6GpnlSyXIoTgH7eLFDv7C/tNjqMYloROc6Hp+7m27fEoOIpxay5jXcqUf0Y1ZdZuT7Ze9dHkPGqhSlQzemXWb+GNHzRn4oarHLotvwQvTuv0+u6Kr0FQRBw/u91hxzVfbEoXZenIJnS1s8y9HE7SSsOkOJz8Reqj9Vsit8V0wdBIul+uHyDzMkVLS+Ov7r/IlYr7lozP/auxXjwym+gSUPoAMcDnwHDkKuG7131hTU7kI6S9sCGwUgjhqSjKd8AVIcQeYAWwTpN0D0EGHTTjtiAT+Cpgsr7C82QizwAAIABJREFUKxcRAvZ9nmLLq42e8+Hod2BaWtb8vwGllmq14PqzMNzc/XDz8Mc3LAYjA4VWtuZM7lCDLnZWlC3+aoBIjI/hyKrvGPJ8FcWN4hFOH2DQ/utcDY7BkXG4rrqEoiisdHXkF7e7ycHk8y5SMLO9DltdXj86M3bNZU7cCwIKNpgkqgUbLj7hfwfvEZuQyKT2Nfioo23uuT2mRlHkqsLIVBq5qWKl6oKuwd64qMzrreoBm0dKP5ZKjtB3sVTA1qaWncTJX2T+RY9O6NIp/zmwtbB2x6dG34eiIzc2wq4JGR8fuhn2fCy3Hsa4Qdk8cPrTkUS14MrjENw8/Dng4Y//y1hMDA1oU9McZwdrutS1pFQxLXezQpDgvoPwPdMxV/nhVbo1NYbNx8BCd+MnXYiJT+S9fy5wz/8lG8Y1Z/Plp2y5Iu2Bv9AEk2N3Axi7OvP35cVpnfjo32tcfiyVcgtym+v601Bm7vbAw/clrWzLMae3ff7N5cISODAVbLvAkHXZq7SLDIQVXeXqe+wBKRGUECPdJJ+cyfi8b3yhSMFuKRY0uSm9MgsYjFwhbAK2CSG0bDq++egDig6EPIQlbWR1V2Jc+uP9lmnuEuNkMMmG815uoUpUc+lRCPs9/DjgEUBwZBxFjAxoV6s8Lg7WdKxrkbk0u+9VVG7TMPK5wB11ZR42/oYefXOgIZUFiWrBhPVXOXIngL+HN+b43SA2X3nGJx1t+bxLLRRFIV6lptaMzKu6ZveyY+OlZ9wLiABgw7hmtErbFJgPhEbF8+vBe2y6/JTyZkWY2dOOnvWt879E+epq2PsZVG0NQzdl78s+9DGs6KbR+DoIZapIO+o1vcDvRsbnveO9KbkuvaIoSn1gCDAA8BFCdH69KeY/+oCSBYkJUlAv6B7ER6Q/Xre39JqICQXX/3Kl6klXEhLVnH/wAjcPPw56BhASFU9RY0M61rHA2cGKDrUtKF4ki+2WcF+5TXdrEyFKaX5LGIRj/4/p1zgLJdocIIRg1h5P1p5/wqxedtz1i0gXTACa/XSEgJdaAncqLEsWSR7zQ197RmTmVZ8HqNWCLVee8cuBu7yMVeHasiqfda5JiYLyUwG4uVk2LlZsKhWss1MMEuApNb6KmcugYlZelhgv7yQDjjbGHZWv9Y7y2p3yWggE/JESKNkoKtdTaDj1v/SOdqkJ8JAfvFG78yWYxKkSOesdzH53fw7fDiA8JoHiJoZ0qmuJi4MV7WpZUNREh4qf+Cg4+yecXYAQatYbDeCPuF7MG9mK9tnpj8gG/5x+yNrzTxjXuhr3/GUw+ThNMDnk6Z9lMDE1Nkge49qyar4HE8/n4czY5cH1p2E4Vi3D933tqWP12qpLr0+DIbKkeNtYqdU1cqfueS/LejBsC6ztCxsGwOh9UNxc3iTNz6C9bnknfYJeB3TZ8pqIXJmUR3arb04jj1Jo0K9QMuHpBXnXZt0Qnl9Lf1wxAMMi0h2vaqs8m0ZsQiKn7gfh5uHPkdsBRMSpKGFqRBc7S5ztrWlT01z3vga1Gm5ulKuSSH/Cqvdi5BNnfER5Vro60qhy3ijw7r35nI83XqeHgzVmRYySg8kXqYJJnCqR2jMO6HzNNjXNWeXq+IoZV17yMjaB3w/dZ+35x5QpZsI0l7r0b2zzRnTgv8L9gzLRXs4WRu0Cs2zcINw/BJuGQuUWMHybDFDB3rCwifbx9YdA/2W5M+9CRm7mUOYiZU4y2WAsHOgDSgbEhkv/bRQIe6J9jKGJrJSxzf2dzuh4FSfvBbHfw59jdwKIik+kdDFjutpZ4uxgTSuNNW62eHwWDn4DfjfBpik3601l2AE1pYuZsPZ9J2qUz5sk68WHLxi54hINKpWiUtli7Ljmy0cdbPmya61Xvowbf3+YkKj4TK9la2HG05BoKpUpyo5JrShVNO+3mIQQ7Lrhy4//3eVFVBwjmlXh/7rW1l7Y8Kbw8ARsHAolbWD0HumHoiu3tsCOD6BOTykXZGgEfrdgaRvt46c8eqPK4/OLXNvyKoxGWnqyyf6vZH7Bwi7jMYNW52owiYxTcexuIG7ufhy/F0hsgppyxU3o3dAGFwcrmlcvlzOb2pCHcPhbuLNXetf3X85edQu+2HqL6uZmrBnrhFWpvCm19Q6M4IO1V6hYtigWJUzZcc2XyR1qpAsmbu5+WQaT/o1suP4sjGImhqx0dcyXYHI/IIKZuzy4+CiEBpVKs8rVEYeKb16jajqqt5dNtRsGyVX2qD0y2a4L9QdLW4YDU2HfZ7I737q+3BL7d3D68b9We+cT9JlROKVg9eQet7ZK+ZRGI6QonjYGrIA6PV77pV7GJnD0TgD73f05eT+IeJWa8iWKMKhJJZwdrHCqWjbnWzoxYTIHdHGpXE11nAEtPmL1JX/m7LuJY5Wy/DOqaZ7daQe+jGX0ysuYGBlgU7oo/7n7MblDDf6va+1XgklsQiITN2jZUkzF5A41uOUTzrOQaNaPa5bnfiZRcSr+POrFyjOPKF7EiJ/6OfCeY6VMHSbfOKq0gNG7YV1/GVRG79W9y735BCkddOp/UqKlyxyo1Q3aTpESLWm5sw/q9szd+b8l6A223mVCn8itLgs7eHZB+5jeC6UoYg4Ji47n8O0A3Dz8Oe0VREKiwKqkKc4OVrg4WNO4chmt/uo6k6iCq6uk5lhMqAyMHWcgzCyZd+g+C49708XOkr+GNsqZppQORMWpGLLsPA8Co6hpacYtn3Amta/BV91qp8s5OMw6SERcxkIT3TUyMKvPPeaXAQ4Mccw7QVMhBPvd/fl+3238X8YypGklpjrXSdf8Wajwd5eOogZGsngkyY46K4SQdtVXVkKX76HVJ/L5xS0gUEvKeOaLQmvNkBNybctL082+QQgRmisz0/NmkKiCHRoDozJVtQeUrj/mKJi8iIzjkCaInPMORqUW2JQuimvLqjg7WNOwYuncufv1OgwHp0PwPajaRgo4WtdHlahm+nZ3Nl95xnuOlfihr32eJbNViWom/3sNz+cvsS5pmmkw2XvzeabBBKBVTXNm7vJgXOtqeRpMHgZFMmuPJ6e9grGzLsmi4Y3fKJvgHGPlIPuj1vSWlgqjdkljraxQFKkbFhMKh2fKlUqj4TDhDHynJWeyvCN8eCr351/I0SXEWiHNr64BK4GD4l1a1rytnJkvg0i3n2XyOi32A6DlRzpfLjAiloOeAbi5+3Hh4QvUAqqUK8a4NtVxcbDCwUY3f3XdXuyODCQPjkLZ6tKUqbYLKAqxCYl89O91jtwJSFdZldsIIZixy4MT94IwNFB4Hh7LxAyCSUx8Ih9vzES1GVg9xpH311yhYx0LvnHR8c46m8TEJ7LouDfLTj2kiJEBs3vZMaJ5lXyrHssXyteWvvJr+8DqXrIysZJj1ucZGEpP+5gwqQRRtLTc6v3cM305sd9NCHsGpStpv9Y7ik5bXhpTq67AGKApsAVYIYTIQPv5zUS/5aXB54qUoLDvD+5btY/RIfHoHx7LAQ/pJXL5cQhCQPXyxenhYI2zvTV1rUvk7pd5VDAc/1F2ShcpAe2+BsdxyZpO4dEJjFt7mStPQpndqx6jW1bNvdfWwsJjXvx2KMUIa0K7Gkztnj6YANSe4UacxlFRG/OHNGDWbk+sSxVl28QWedI0eOR2ALP3euITGkO/RjZ841IHixKFw7cmR4Q9lSuVqCAYtll21utCXCSs7Q3+HjByhzzv9h7pR5+WdyRBn6uNjRqFX39kY6MKKANsUxTlsBBiyutNVU++Ehch7U9L2sg7OW3MCMrwdJ/QaA54+LPf3Y9rT8MAqG1Zgk871cTFwZqaFma5vyJQxcHFJXDqN9mk6PiBFOxLVb7pHx7LqJUXeRQcxV9DG9GzfjZKR3PAjms+OgeTndd9Mg0mHWqXZ8FRb4wNDVg+ummuB5NnIdHM2evJkTuB1LQwY9P45jSvXrDeKflC6cpy+2ttH6nX9d4GsO2U9XlFzGDYVpnc3zgUXPdJx0f7AeCx/dWx5xdDi0l5M/9CiC59KJ8gJeSDgeXALiFEgqIoBoCXEKLQGAboVyjArkmy2W/oZvh3UPrj409ChYavPPXkRRRuHv64uftx00fekdlZl8TFwYru9tZ5JwwoBNzeLcuAw55AzW5SyjyNfph3YCSjV14iPCaBpSOb5LnO1VnvYEavvIRKLT87H7arztfd62gNJlFxKurNOpjp9VrWKMeVx6Fs+KAZjlVzr8chTpXIspMPWXjcG0MDhc8612RMq2o5K8cuzEQFy6744Huy16SOi27nhftI3a/EOCnRUsIafrJOP256QKFxKM0pudnY+B1yeytdx5uiKHWFEHdyPs385Z0PKB47pF1v26/g9DwQae6aq7aRd2PIpK2bZiXi+Vy6AjaoWApnB2uc7a3yvJQV32syT/L0HFjUg24/QI2O6YZdfxrK2NWXMTRQWD3GCXubvO2buOv/koF/nydSk1z/sG11vnbWHkwAqn3zH5l9xDrXteTInYBct+89dT+IWXs8eRQchYuDFTN72mFdKhvKvG8bMaHSE8XvprQXtu+v23lB92FVd+nHMvaQLC9ekmbrTDGEWSG5P+c3iNxsbPw2k2OFJpi884T7yMYtm6bSSzttMAG8uq5h/xEv3Dz8uOsvxSEbVy7NjB516VbPikpli+XDPH3h2PdyFVW8PPT8AxqP0urSd/xeIJPWX6N8iSKse98pz4OcX3gMo1de0jmYbL3yLNNgUs28OEfuBDCxfY1cCyZ+4TF8v+82+939qWZenLVjnWhbq3yuXLtQU7SMNIH7d4jc8lXFQkMdFKbL15KyLGt6wfr+Mtnf5XtZCZaESJTd9db1827+hYQC6UNRFKUssBmoCjwGBqctS1YUpSHwN1ASSAR+FEJs1hxbDbQDkjJirrpIw7yzKxR1okxO+t2AcUdgcfN0QyYW+w23kAooCjhWKYuzgxXd7a3y7642PgrOLpAijkIt96VbfwGm2oUIt1/1Yer2W9S2KsHqMU7J7ot5xcvYBAb9fT5ZQn582+p8k0kwiYhNwGH2oUyvaaDIFcqSEU1eu4w6IVHNyjOP+POoF4lqwccdbfmgbXWKGOVN702hJT4KNg2Tci09fgfH93U77+EJ2YlfoZEUolzcXCb9U/MWi0fmhdpwbvI1cFQIMVdRlK81j6emGRMNjBJCeCmKUgG4qijKQSFEmOb4V0KIbfk458LL2T+lgVCfxYh1/Un7lvdUVyG8jAPft7WmWz3L/K38Uavh1iYp4BjhB/X6Qec5mUpnLDv1gJ/236VljXIsHdkkz2XU41VqJq6/qnMwAbIMJsaGCrYWJZg/pOFrB5MLD18wc5cHXoGRdK5rwaxe9fJnNVkYMSku84dbR8tGRlUstJic9XnV28OA5bDVFbaMlttfv9d5dcx/X0LP3/Ng0oWHggoofYD2mt/XACdIE1CEEPdT/f5c42VfHghDj+74XkMc/5Gwqj04cCeWoRHP0w2x+vIs/5Yqkf9ze3IODnwjV042TWTCtHKzDIer1YKf3e7wz+lH9HCw5vchDfL8DlwIwdfbb3HW+wUAH7SplmUw+ffi0wyPJVGqqAnLRzfN2sMlEwIjYvnpvzvsuvGcimWKsnxUUzrbFbwV8xuPsSkMXgc7xsHBaZAQLfOKWWHXR1pf7/1UbnkN3y7l75O4sgI6z8qeN8tbRkEFFEshhB+AEMJPUZRMNacVRXECTIDUfS8/KoryLXAU+FoIkbmxxDuGWi24/sCXqttGoVKXwvluL66ZarH1HXuIcvkdTEIeaQQc98jy5f7/gP1AMMi4+ighUc2UbbfYed2XUS2qMKtXvdeTbNGReYfus+O6LwDjWldjmkvdTINJeEwC03a6Z3pNEyMD/hnVBJvSOdtOVCWqWXfhCb8fuk+cSs3HHW2Z1N5WN28YPRIjExiwEowmwbEfpBVwx5lZb1k1cYXoF3JFXbSsfN96pNoomVv5nelN0UaeBRRFUY4gu+zTMj2b17EG1gGjhUjOJH+D7IkxAZYhVzffZXD+eGA8QOXKeSdl8SaQqBZcehSCm4cfBzz8+SxmIY0MfZhX4TeORv+VknFKokSFTFcEuU5seIqAo4ExdJghtxtMMt+eiY5XMXH9NU7eD+LLLrX4qKNtvvhybLz0lIXHvQEZTKb3yDyYADSYk/lWF8D/BtbPsRfL1SehzNzlwW2/l7Spac53feypZp7HFXdvK4ZG0HcJGJnKqseEGCnfk9V7q/UXEPUCLiySApJp8ToCNQudoW2ukGcBJTOLYEVRAhRFsdasTqyRbpDaxpUE/gNmCCGSxaaSVjdAnKIoq4D/y2Qey5BBh6ZNm751kjEJiWouPHyBm4c/hzz9CY6Mx9TYgM9s7jHM/zjxLT7lK7v6sMIz/cmf3syfSSaq4NpqKeAYHQINh0s14JJaavrTEBIVz5jVl3H3CePn/g4Mdcqfm4Lj9wL5Zodcabi2rKpTMFl3/nGW1/2koy19Gtpkez4hUfHMdbvDlis+WJU0ZfHwxjjbW715hleFDQMD6PUnGBeFC4tlUOnxe6arZRRF9kPFhEg14hYfwfmFKcc3DIBvQzO/xltKQW157UE2S87V/NyddoCiKCbATmCtEGJrmmNJwUgB+gIeeT/lN4d4lZqzD4Jxc/fj0O0AwqITKGYi/dVdHKzpUEFF0eUTwbohJp2mww9adhRH7UmWLMlTvI7AoekQdFcj4PijbmJ9yK78USsv4RMaw98jmtCtnrYFb+7j4RvOmFWXAXjPsRKzetll+cUdGhXPzN1agnYqXBys+KxzrUzHpEWtFmy8/JRfD9wjKk7Fh22r80mnmq+Ve9GTBkWB7nPBuBic+V0m6nsvzFxN2MBAeqfEhML5RVDRCXwupRxf01OWGL9jFNS7ci6wRVGU94GnwCAARVGaAhOEEOOAwUBboJyiKK6a85LKgzcoilIeUIAbgJbkwNtFbEIiZ7yC2e/hx+HbAUTEqihRxIjOdpZ0t7eiXa3yUp5drYZ1faVcyYDlsGVU+ospBlC9Xd5OOPCuDCTeR6SA45ANUmhPxzvqu/4vGb3yEtHxiawb60SzfJIKeRYSTc+/zgDQq0EFfu7voNMqoNH3hzM97mBTinmDslfR5e4TzozdHtx8FkazamX5vq89tSwLoHjiXUBRZELduBgc1+RUBiwHw0wqCA2NpfHcuv7gc/nVY0/Owks/nVbhbxMFElCEEC+AdKI6QogrwDjN7+sBrY5PQoj0LdNvITHxiZy8H4ibhz9H7wQSGaeipKkR3epZ4eJgRStb8/RVThcWwaOTchmvVsF9Lb7l0wPybtJRwXDiZ7iySmoidftJam9lYzV06VEI76+5TFFjQ7ZOaEEdK+29KLlNWHQ8bX49DkDbWuVZ8F5DnYLJijOPMj1e3MSQf0Y11TlpHh6dwG+H7rH+4hPKFS/CH0Ma0qdhBf32Vn7Q7iu5/XVourwpG7Q6c1kV46LSGnt1TwhIU4zxe513LkGvXze/YUTFqTh+LxA3d3+O3Q0kJiGRssVN6FnfGmcHa1pUL5exv7rfLTgyR/pjNx4Nc0qnH/PexrzZ6lLFyWT7qd8gPlI2jLX7Gopnb2VxyNOfjzdex6Z0UdaMdcq3forYhEQafidXGfUqlGTNGEedvsCDI+P4fp8WA6ZUbBzfXCfbYSEE26/58vP+O4RGxzO6RVW+6FqLknncZ6MnDS0/kkHkvy9h43vSHiGzwpGipaVE/squEPr41WOXV+jePPkWoA8obwARsQkcuxvIfnc/TtwLIk6lxtysCAOa2OBib41TNR2sceOjYfs4KG4u93b3fqJ9nK7CeLoihCz/Pfyt/DDV7KoRcMxAyTgTNl16yrSd7jhUlH7m+eUcqFYL6syUKzlzsyLs+7i1TsFECEHTH45kOmbRsMbUr6glsKfhrv9LZu7y4PLjUBpXLs3a952oV+Hd7WcocBzHgVFR2PMRbBgo5e+LZLLdWMJSSrus7AaRqXYA/vtCSgdltnX2FqEPKAVEeHQCh+8EcMDDj1P3g4lPVGNZsghDnSrjbG9F06pls9dncXimVFMduUtK1F9bm37MDK3FdDnn+XUp4PjkrLQRHrFDN3nwNAghWHTcm98O3adtrfL8PbxxviWdhRBUn5aSPL08vZPOW0sd553M9PgnnWrSo37me+gRsQn8ccSL1eceU9LUiF8GODCoSSHzc39baTRcrlS2fyDVikdsk5pgGVG2mvwMrOwmV+lJ/FIVpvnm+XTfBPQBJR8JiYrn8G1/9rv7c1ZjjVuhlCkjW1TBxcGKRpXK5OyL5J4bXF4uyxdrdIDZWu5s+y0Do1zSu3r5HI5qBByLlZPdw41G5chjO1Et+G6vJ2vOP6FfIxt+GVA/4y29XEYIQe2ZKTmmRz+76BxMTnsF8Sg4KsPjNS3M+LxzzUxfe+8tP37Yd5ugyDiGOlXmq661KVOY/dzfRuwHyD6Vra5SIHLkLrkLkBFW9lJMclX3lOfiIyHgNlja5fl0C5oCEYcsKApCHDIoIo5Dt/1xc/fn/MMXJKoFlcoWxcVe5kQaVHxNa9yIAPi7hWxS/OAonPxFNmmlxrQUfJ21HEiWxEfBub+kNphaBc0nQZsvMxRwzIo4VSJfbLnJf7f8krvQ8+vOXAhBx3knk4OC94/OOtvghkbFZ1nVdff77rLqTgvegZF8u9uDcw9eYG9Tkh/6OtCwUtbbYnoKEO8jsGk4lKkKo3ZDiSxK2O8fhH8Hv/pcIU7Q55ofyttEfgWUgJexHPSUXiKXHoWgFlKq3MXBCmd7a+pVKJk7FTtqtdzffXJWGmMVKwe/2aYfNyPw9VYnajXc2qwRcHwOdn2hyxz54cohEbEJfLjuKucevGCaSx3Gt80/nzYhBEOWXuDSY+lhcfu7bhQz0W11FZuQmJxvyYhL0ztpFdiMjlfx1zFvlp9+SFFjQ77qVpthzarki4SMnlzg0Wkpf1/CUvZxZeUnf3MT7Pww5XHzydD9p7ydYx7xpqsNv3U8D4tJdjW8+jQUIeS2x0cda+LiYEVty1z2Vwe4tAweHIUe88CiTspWl6EJJMbL30dsf71g8uQ8HPxG5ksqNIKBK6FKi9eadlBEHK6rLnHXPyLXjaWyQgjBhPVXk4PJlRmddQ4mqZP3GbF0ZJN0wUQIwUHPAL7fdxvfsBgGNK7INy51MDfLW8l9PblMtTYwape0E17lAqN3yx6rjGjwHrz0lTdiIEv6O0yT5fRvKfqA8ho8C4nGzcOP/e7+3HgmRZDrWpfki861cHawwtYiD5vQAjxlZVWt7tD0fbjwd8qxpGBStjrY5lBTKOQRHJklLXhL2sgcjMOg15aTePIiilErLxHwMpblo5rSoU6muqC5ihCCKdtucdBTVuEc+7Jdtr7Ux6y+nOWYtN38T15EMWuPJyfuBVHHqgRbJ7TIVZtfPflMJScYvQfW9ZNBZdSedJbUr9DmS7h3IKWL/mebQr31lRX6La9s8ig4iv3uUnzR3Ve+MRxsSuGs2c7KF6G+hBj4p6NsIpx4Tq5A5mpZfudkqys2XPaSXFwCBkbQ+nOZ7M9CwFEXPHzDcV0lvdhXujrSOIcCiTlBCMHsPTL5D7B9YguaVNH9i3356Yf88F/mBqWP5/ZI/j02IZElJx+w+MQDjA0UPu9Si9Etq757fu5vKwG3YW0faQY3ardMxmeEEK/2hI3cJYtnChH6La9cJPBlLJsuP2O/e4o1bsNKpZnmUgdne+v8NzM6MhsCb0s/BrPyKVtdZpYpNfBDN2UvmCSq4NoajYDjC2mP2nFmrklHnPMOZvy6q5Q0NWLTeKe8Xb2lQQjBT/vvJAeTv4c3zlYwOX43MMtgMqtXSgXP8XuBzN7jyZMX0fRqUIEZPepiWTIfTcv05D2WdjDGDdb2htU9pIujTWPtYxUFZr6A7zVNvuv6vrXujvqAogPzDt1n85VnFDEyYLpLXVzqW+fYy+K18TosVw/NJkiJ7JubU44lBZPi5aG2s+7X9D4CB2dA0B2o0krKpVRomGtT/u+WH59vvkFV82KsGeuUf7bCyGDyy4F7/HNayqPM7GmHs4PuQdLDN1ynra4xrarhGxbDd3s9OegZQPXyxdkwrhmtbDMpMdVTuDG3lQKQa3rL1crwrVA5vb02IEvqP74Gf2mCzrq+cmXzlqFff+vAlO616V7PijiVGjcPP+ISEgtmIpFBsGuSbCLsPAcSYmHneHmsZKrE9mc6ii8H3ZMJxvUDpMLqkPXg+l+uBpO15x/z0cZr1K9Yiq0ftiyQYLLkpPRlG9uqGu+3rqbz+T6hKUKRmXH/B2cWn/Cm87yTnLofzJTutTnwaVt9MHkXKFNVrlTMLGRe5WEmza7lakgvFZAe9RH++THDfEWfQ9ERIQR7bj5n5i4P4hPVfN29DqNaVM2/jmYhpK7Qg+Mw/jhY1oNfa0B0MJStASEaM8vB68Cud+bXinqhEXBcCSZmUhDPaXzuNT4i/71+P3yfv45507muBX8NbZyvjoJCCH49eI+/T8h/F2d7KxYNa6zz/1d4TIJOZlm2FmYIIXgQFEW3epZ826tewa1e9RQckYFylfLigbwxq9VV+7i0+ZRCkqDXNYeiX6HoiKIo9Glow+Ev2tG8ejlm773N8OUX8QmNzp8JXFkhlYO7fCeDyf1DMphASjCBzIOJKk42Ji5oJINJ07HwyXVo+XGuBhNVopppO93565g3g5tWZMmIJgUaTJpUKcP8IbpLx8er1IxacVGnsd6BkSQkCla5OrJ0ZFN9MHlXMbOQq3uLOrBpGNzeo32cosjPXBJX1+TP/PIJ/QolBwgh2HLlGd/tvY2iKMzsWZfBTSvlnbx44F1Y1g6qtpayDurElARflVaysRFgur+U004/Ybi7Dw7NhNBHYNtFCjha1Mn1qcYmJPLJxuscuh3A5A41+L+utfNVdl3qq1uMAAAgAElEQVQIwf8O3mOxJphUMy/OjoktdZY0EULw5ZabyT7ymWFiZMDEdjWY2L5Ghl3xet4xYsJgwyDwvQr9lkL9QdrH/d0KAjRb0zNf5Ei2KD/Rr1DyEEVRGOJYmQOftcXBphRTt7szdvVlAl7G5v6LqeKkirCJGfRZLO9wlmnMscrWSAkm/ZdrDybPb0ivhs0jpCbRiO1S5C4Pgkl4TAKjVlzi8J0AZvWy46tudfI9mPx2KCWYlCtuwtqxTtnSx5p/+L5OwQTg8Odt+bxLLX0w0ZNC0dKy4qtKS9jxgXaRVoAJqXJz2tQtCikFElAURSmrKMphRVG8ND+1NiQoipKoKMoNzZ89qZ6vpijKRc35mzV2wflOpbLF2DCuGbN72XH+4Qu6zj/F7hu+5Oqq7+h30rinzyIp+fD0QsqdTeqtrrR3Qi/9ZAJ/WXtpv9vjd/kmzmmjYxYEvIxlyNLzXH8Wyp/vNWJMK92T37lBUjBZdFz+m5gaG7BqjGO2Srq3XH7GgmPeOo199LMLVcrlQ8+RnsJHETNZ8WXbCfZ8DBeXpR+jKOCqUbmOCYXAzMvSCwsFtUL5GjgqhKgJHNU81kaMEKKh5k/q5MAvwHzN+aFAgTnYGBgouLaqxv5P2lC9fHE+3XSDyf9e40Vk3Otf/MFxOL9QejPU7i63rlZ2k8ccUgnPTfNL+T0+Gk78IssT3bdCq0/gk2vS5CePltUPgiLpv/gcz0KiWeXqRO8GFfLkdTJCCMG8Q/eTg4mi6O5DksRpryCmbL+l09jHc3vo3RP1ZI5xUWnMVacnuH0FZ/5IP6ZqK1lEA7A4g3LjQkZBBZQ+QFI2ag3QV9cTFflJ7ghsy8n5eUX18mZsm9CSqd3rcOR2IN3+OMVBz9coC4wOgZ0TwLw2dPlePrd+gPxZsiK4b5G/u/wmu9jVatmTsrApnPgJanaByZdkEt8074yabjwLY+Df54hNSGTT+Ba0rpm/pbJJwWTh8ZSVxQ997elU11Lna9zxe8nIFZd0GvtBm/xdeekpxBgVkRbC9gOkjNHxn+VNYWpSF9Gc/DVfp5cXFFRAsRRC+AFofmYk6GSqKMoVRVEuKIqSFDTKAWFCCJXmsQ9gk7fT1Q1DA4WJ7Wuw5+NWWJY05cN1V/li8w3CYxKydyEh5FI5+gUMWC4DRoCnFIIEeOmTMtbpA7kNtryT7Ekxs5B18YPXSsOfPOTEvUCGLruAmakR2ya2xKFi/joMJpUmpw4mE9vXYHizKjpfwy88hlErdQsmANN7vP2eFnpyEUNj6P8PNBwBJ+dK/b20QeWrh/Ln8R8hLjL9NQoReRZQFEU5oiiKh5Y/fbJxmcqayoJhwB+KotQAtO01ZJi0UBRlvCYoXQkKCsrm3yJn1LEqyc5JrfikU01233xOt/mnOHk/G699bY2syuo8C6zryzfg3y3lsWYTUsZNPAdbRsttsAh/WVUy7phMCOYxu677Mm7NFaqaF2f7xJb5o2GWCiEE8zV9LqbG8m3cp2EFvuqqu/VwRGwCY1ZdJihCt+3J1FpdevTojIGhtOV2HAfnFsD+r+SOQhLFy8ljAPNyv1gmPymQsmFFUe4B7YUQfoqiWAMnhBCZfhMoirIa2AdsB4IAKyGESlGUFsBsIUS3rF63IAy2bvmE8cWWm3gHRjKsWWWmu9TN3N422AuWtpWqpiN2SnXfnRPh5r/S41oVkzLW0EQKOLb6DFp+BCb586WeJJTYvHpZlo1qSknT/PXLTgomC455U7lsMXzDYnCsWoY1Y50oYqRbxVVCopqxqy9z2itYp/FrxzrRtlb515m2nncdIaRV97m/oNEI6LVABpskZpeSyt5f3C64OWbAm142vAcYrfl9NJBO1EZRlDKKohTR/G4OtAJuCxkBjwMDMzv/TaF+xdLs+7g149tWZ+Olp3T/8xQXH77QPlgVL0uEjYpA3yUymIQ+lsEE0jsj2g+Ej69C+6n5EkyEEPy8/w4//HcHZ3srVo9xyvdgAjD/iBcLjnnTqHJpQqLiqVG+OEtHNtU5mAghmL7TXedgAuiDiZ7XR1FkPrTdVLi+HnaMh8RU2+Gzwl5teiyEFFRAmQt0URTFC+iieYyiKE0VRVmuGVMXuKIoyk1kAJkrhEgK3VOBLxRF8UbmVFbk6+yziamxIdNc6rLlwxYYKArv/XOB7/fdJjatJtiJn8DvhlweJ6n8/tlA/uz1Z4r4o6U9jD8B/f6GkvlTUZWQqObLrTdZeuohI5pXZuGwxgXSfzH/8H0WHPWiXa3y+IXFUryIIavGOFGqqO6BbeExb7Zc8cl6oAb9VpeeXENRpMlW59ngsU161aviU47lomJFQaDvlM9nouNVzHW7y9rzT6hevji/D24o/cQfnZKqpY1HQe8FcvDhb6V/O8i7lzmloYkr9PwjX6Wvo+NVTN5wjeP3gvi8cy0+6WRbIGWz8w/f58+jXrg4WPEwKIpnIdFsmdCCehV0LwbYed2Hzzff1Hn8gc/aUMeqZNYD9ejJLheXgtsUqVwxZJ32xuQ3BL2nvBbehICSxBmvYKZsu4n/y1i+aFWeyfdGo5gUgw9Pye2ryED4raYcPPUxFM0/M6rUhEbFM3bNZW4+C+P7vvbZqqDKTZKCSb9GNgRFxHHh4QtWujpmayvq3INghv2jm0ZXEvrViZ485eoa2PuplFUauumNtQd+03Mo7zyta5pz4PO2DGhkQ7WL00mMCOBh2z9SciFJwaTTtwUWTHzDYhi45Byez1+yeHjjAgsmfxyRwWRgk4ooCpzxDubn/g7ZCib3AyL4cN3VbL2uPpjoyXOajIb+y+DJOVjfXzqmFmL0AaUAKWlqzP9qetLD8BJ/Gwyl25YIFh33JvHMgpRBbb4skLndD4hgwOJzBL6MY+1YJ7rb545zY3b584gXfxyRwaRCKVN2XPPls841GdRUi+VxBgS+jP3/9u48ruoqf/z468BlX2VTFhVwxQ1X3DLXLJeycElrpjJbzGpmqplfNeXUt5mxnLbJFltMLUsdx8waK1PUMjP3XRAREAUF2QQELsu95/fH53IFZbkXL1zE83w8eMD93M+Hez5S5/35nPM57zezl+2lSF/Z8M4mqa9ObExzFcV6fWbA9GWQcUAb9i7Js3eLGk0FFHvKTdbGUMNH8Lun3uDWnu348MeDOMbN195/JtEuzdp3Oo9pi3dikJL/PDqUIZH+dmnHO3FJvB13kqn9wxjYsQ2Ltp5i+oAw/ji2i8W/o7iskukf/UbGxdKGdzZ5a0a0Sq2iNK8eU2Dml1pOr+WTtSHv65AKKPZiqNAeG3RwhLs+pI2XG+/d05+jrtoCp2XGiSw5VILR2LxzXHHxWdy7ZDf+ni6se2wYPULsMyG9aMvlYDI5OpgX1h9jRJcAFsT2tqizP5NbwpJfUuj50o+k5VpXsya2f1jDOymKrXW9Fe5do5WYWDYRCs/Zu0VWa9lJ+FuznxdCxj4t14+PqQM7tNL89o7Ip9nyXQKb4rN4c3q0VVlzG2vN3rM8//VReoZ4s+yBQfh72ucRxkVbknhr80li+4cye3g4d3/0G13bevHBvf1xcqz9GshglBw6m09cwgW2JGRxMqtxKSzUvIliV5Gj4HfrtJoqyybAfd9CG/vMXTaGesrLHtJ2wvJJED0L7vxA21ahh3+aEho+eQDpF8na/em88r94DFLy4qQezIppmiJeUko++CmZ139MZESXABb/bgCe9a3mb0Lvbknizc0nie0XylO3dGXq4p3oHARfP67lR6uuuKySX5Ky2Rx/gZ8SL5BbXI6jgyAm3I/k7EtcsDClSpXkBRNxbK6SzopSn4z9sCJWe0jn/v9p9ejtyNKnvNQdSnMrvagNdfl2hAkLL29/s6v2vdc08O+EAKYPbM+wzgE8u/YIf/36KBuPZ7Jwam+CfWz3vLrRKHllQzzLd57mjugQ3pgejbPOPiOh7229HEzmT+7B3R//RmmFga8eG2YOJhkXS9mSkEVcwgV2JedSbjDi7apjdPcgxka1ZWTXQLafzObJVdatOB4U3kYFE6XlCB0AD2yAz+803al8A0FR9m5Vg9QdSnP76iE4tg7mbIIwU8BP/AFWzdR+funiVYsWjUbJl7vTWPD9CXSOgv+7oyd39Qu95ruVskoDf/7vEf53+BwPDo/gxUlRFtddt7X3tibxxiYtmCyI7c0Dy/awPy2fz2bH4O6iMweRhPOFgFbad6wpiAwMb2MeCtuTmsfvluym3GCs7+Ouooa6lBYpO1F78stQDveth+BouzRDLWyshb0DSt6uL/Db+DiMfhFG/kXbaKi8XB/+0V+07MJ1OJ1TzF/WHmbv6XzG92jLgtjeBDRynuNSWSVzV+xnx6kcnr2tO3NHRtrtyab3t53i9R8TuatfKK9P68O8Lw+wKT4LNydHPF11ZBeV4SBgYEc/xkYFMa5HWzoF1lwAlnOpjNV7zvDGppNWf74KJkqLlpsMn08BfaFWwrv9oGZvggootbBnQKnMSUX/7lBOOYSzb9QKZg2J0LIOvxcDOYkQPkK7xW2AwShZuiOV1zcl4umi45939mJCb+vWiORcKmP2sr3Eny/k1djezLBiTYetVQWTYZ38mdA7mPnrj5nf83TRMbJrION6BDGqa1CN2vDZRWXsTs1lV0ouu1PySLrQuEn4lAUT7XZXpigWu3gWPrsdirPhnv9oK+ubkQootbBbQDFUwvKJVGYeZ67nIuLOu+Lj5sQLPfOZcewRbZ9ahrrqk5RVxNNrDnM0o4ApfUP4vzt64uvu3OBxZ3JLuG/pbjIL9bx/T3+rKhvakpSSJ1Ye5Luj52t9/4s5g4mJ8DPP52QV6rXgkZrH7pRckrOLAfBwdqRnqA97Uq1fDHb4pfFWJZVUFLsqPK/dqVw8o61Z6Ty22T5aBZRa2C2g/LRQyyQcuwTZexo/Hs/irU0n2FSo1Rpb0e19xk+adtVTTA2pMBhZ/FMyi7Yk4efhzMKpfRjdva7il3D8XAEPLNtLeaWRpQ8MZEBHv2s6LWvpKwz8lpxLXEIWX+4+Y94e3d4XnYNgf1o+Y7oH8fHvB5B9qYzdKXnmIJKaowUQLxcdgyL8GBzhx+BIf6KCvXhi5UE2x2dZ1ZZlswcxulvd/1aK0iIV52gT9TmJMP0z6N48GR1UQKmFXQLK2T2w9DboPU3L2WMil9+OOL2dNBHKyNLXcXZ0YOqAMOaOjKSjv3W1TY5lFPDMmsMkZhUxc1B7XpgUhdcVdUp+S87lkc/34emq4/MHY+jS1ssmp9eQ7KIytp24QFxCFr8k5VB6Rcr+PX8dy/kCPVPe/xWAyX2COZJewJk8bTGit6uOmAg/hkT6MzjCnx4h3jWexnr52+Ms33naqjZFBHiw7c+jrum8FMVuSvPhi6lw/rBWXrhXbJN/pAootWj2gKIvhA9vAiTM3QGupjTr54/ARyMAqHghmzUHzvPullNkFupxEHB7dAiPjepkVdr0skoD/45L4qOfkwn2ceP16X0Y1ikAgO+PnudPqw/Rwd+dzx+MIcS36dJkSylJzCpiS8IFNsdncTj9IlJCsI8rY6OCOHXhErtS8ujfwZcZA9uz7mBGjeEqHzcn893H4Ag/ooK963yc99Mdqfx9g/XV7dQkvHLd0xfCyrvh7C6Y8j70vadJP04FlFo0e0D5ei4c+Q/M/gE6DLm8/WVTYJm5ynzLqq8w8MWuNN7fdor8Eq2K27ioIOaN7kz/DpZnG96fls+f/3uY1JxiHhgWTqivGwt+SKBfe1+WPjDIonkWa5VVGtidkmd+tLcqb1afMB/GRbVlbFQQHs46Hly+lxTT0NWV7hvakVkxHejW1suiSfIfjp5n3soDWPufrwomSqtRXgyr74WUbTDpLRg0p8k+qkUHFCGEH/AfIBw4DcyQUuZfsc9o4O1qm7oDM6WU60315UcCVbmeH5BSHmroc5s1oBxdC1/N0cp9jv7r5e1fPQRH/wsu3vD82asOu1RWydIdqXyyPYWiMi077tBIf+aN7sRNnQMserS3tNzAwo0nzENBbdyd2PncWNycbVdhMa+4nG0nLrDlRBbbT+ZwqawSVycHbuocwNiotkQEeJCaU2x+CiuzUG8+9taebRnY0Y9FW5MoqzCy8uHBDAy3fD5nf1o+93yyi7JK69aapL46USV9VFqXCj389344uRFuXQBDH2+Sj2npAeVfQJ6U8jUhxHNAGynls/Xs7wecAsKklCWmgLJBSrnWms9ttoBy8SwsHg6BXWH2RnA0JSTIS4FF/bSfX8ist0JbfnE5H25P5rOdp9FXaB1nnzAf5o3qzPgebeu9ijcYJfO/OcbKahPfc0d24qlbulhcd/1KUkqSsy+Zc2XtT8vHKCHIy4Ux3YOICPDA0UFwOL2A3Sm55rQngV4uZJt+jgr25tsnhuMoBE+sOsAPxzJ5/57+TLTisefTOcXELt5JXnG5Ve2Pe/pmOgc1z7yRojSrynJY9xDEfwNjXoSb/2Lzj2jpqVemAKNMP38G/IRWJ74u04AfpJTWpY21B6MBvn4UpEGbMHOs9k9cFUymfNBguc82Hs48PyGKOcMjeG/bKVbtOcOR9ALmfrGfzkGePDayE3f0DbkqWaK+wsCfVh9i4/FMHhvViXmjOrHg+wQ+/DmZbScu8OaMaHqFWlYyt8JgZO/pPOLitTuRqqy9UcHejO/RDk9XHSXllcQlZJFzSevg23q7MLSTNoE+JNKPzfFZvPrDCW6PDuHtGdHoHB34+4Z4vj+ayYuToqwKJklZRdzy9naL969OBROl1dI5w9SloHsctv4DKkphzPxmLRNexV53KBellL7VXudLKeucKBBCbAXeklJuML1eDgwFyoAtwHNSylozAQohHgEeAejQocOAtLQ0m51HrX55E7a8And+CH1nXd4upVYT3tEF5ltf6+BsXgnvbEli3YF0qjLah/q68ejISGYMbI+rkyMFpRU8/Pk+9qTmMX9yD+bcFGE+flviBZ5de4S84nKeHNOFeaM71Zq5t6Ckgp9OXiAuQUu4WKSvxMlR4O/hgqerDg8XHWfzSsx3CCE+rgyO1ILH4Ah/Ovq7m4eVPt6ezILvTzC5TzD/vrsvOkcHlu5I5ZUN8cweHs5Lt/ds8Lz1FQa2JFxg5Z40fj2Va/W/G6h5E+UGYTTCd0/B/uUwZJ42BGajoGL3IS8hRBzQrpa3XgA+szSgCCGCgSNAiJSyotq2TMAZ+BhIllK+0lCbmnzIK2M/fDoeou6AaUuv/mOW5GnlfK/hj3zqwiXe3nyyxoLAAE9nJvcJIS4hi8wCPW/OiGZK39Crjr1YUs7L3x5n/aFz9A714a0Z0XRp60VqTrFpQj2LvafzMVSrwSIEODk6UG6arwhr48bgCH8GR/oxNNKfsDZutc5LfLI9hX9+n8CkPsG8YwomVRPpt/Zox/v39q/z6S0pJQfO5LN2fwYbjpyzqtLilVQwUW4oUsLG52H3YhgwW5usd7j2ZK92Dyj1fqgQicAoKeV5U3D4SUrZrY59/wj0lFI+Usf7o4A/SyknN/S5TRpQyi7BRzdDZRk8tqPJ68AfyyjgzU2JbEvMrrE9OsyHpQ3UMtlw5BxPrLQsG28HP3cGV60DifQjrE3DdVlqCyb70/K455Pd9AzxZuXDQ3B1unou52xeCesOZLDuYDppuSW4OTkyoVc7TmQWEX++kHB/d05bUSxLBRPlhiSlNkqy4y2tRMYd79Ucem+Elj6H8i1wP/Ca6fs39ew7C3i++gYhRLApGAngTuBYrUc2p43PaZPuD2xo8mAC0CvUh2WzY8xDSFUOpxcwfOFWZsV04OERkeY1J0X6CrafzCEuIYttiXUPuUUEeJjWgWhDWNauWVnyiymY9L4cTFKyL/HQZ/sI8XVjyf2DagSTQn0FPxw9z1cHtPUoQmhPtT05pgsTerXjqwPprDuYQadAD3O6FUuoYKLcsISAcS+Bs/vlOZWpS8Cx6dMM2SugvAasEULMAc4A0wGEEAOBuVLKh0yvw4H2wM9XHP+lECIQEMAhYG7zNLsO8d/AwRVw09PNmrRt+8ls3tiUSFgbNx4eoRXkOppRgL7CyLJfT7Ps19OANtdyoUhPhaH+u9EnRnfm6Vu6NjpZ4pJfUvjHd6ZgMlMLJjmXynhg2V4chGD57EH4eThTaTCy41QO6w5k8OPxTMoqjUQGevCXW7txZ79QQk1BLC4+i5e/PU6kCiaKojEaoVKvBYnKUu171deVr93aQNteEL9eS39/95c2Gf6qj1rYeK0KMmDxMPCLgDmbm+UqAOCbQxk8s+YwnYM8+ezBGNp6u2IwSv618QQfbU+p87guQZ4MjtSGsGIi/AjycuV8QSnPfnWU7SezualzAAun9TF36paqCiYTe7fjnZn9cHJ0oKS8klmf7CYxs5DVjwzFRefAugPprD90juyiMnzdnbgjOoTY/mFEh/nUmIs5fPYiMz/eRaCXC4X6Ci6aFns2RAUTpdlVdfKVeqgo0daGVJQ08NqCgFDb8ZX6httTG/cA+MOBy9k6rNSi51DsxeYBxWiEFVMgfZ+WWqWZynRWpRyJifBj0cx+HDp7kS0JWWw9oZXBrc+oboHMG9WZmIiaCwmllKzac5Z/fBePoxD87fYeTBsQZtFCwNqCicEoeXTFfuISshgS6UdhaSXx5wtxchSM7hZEbP8wxnQPqrU65Nm8Eu764Fd0Dg54uDhafHeiFi4qZlJevpKvs8Ou63V9AaGW/RvbyQtHcHLXlhA4uYLOzfSz6cv82lXbT2f6Xutrt3qOd7vmC10VUGph84Dy6zuw+W9wx7vQ/z7b/d46SClZuDGRD39OBmBIpB8Hzlw0P4ElBHRv522aRPejf4c2bIrP4t2tSWQV1nyqelB4G+aN7syoroE1OuEzuSX8ee1h9qTmMS4qiAWxvQnyqjsLclVwm9CrHYtmacFEX2Fg2Gtbayw+jA7zIbZ/GLdHh+DnUXf6l4KSCmIX/0rOpXK6BHmyLy2/zn2rvDgpiodGRDa4n2Jntu7kG3qvMcydfEOdtP07+eakAkotbBpQzh2CJeOg220wY0WzLCIKf+67Gq+FgB7B3qZMvH7ERPjVmqtLX2FgxW9pfPDT5TxhVXoEe/P46M7c1qud+TFeo1GybOdp/rXxBG7Ojvzjzl5M7hNy1e+tHkzemdmPI+kX+epAOqv2XE4pM29UJ2L7h1q0sLCs0sB9n+7h4JmL3Nw1kLiEhlPSB/u48tvzzVcXotW5spO32bCNLTt5h8tX8vV26A104JYEhOuok29OKqDUwmYBpbxEe0S4vBge+xXcm76uiNEoifzr9+bXjg6Cv06MIrZfaI1KhvUp0lewdMdplvxyOU+YzkFQaZREBngwd2Qn7uwXah6GSs6+xDNrDnPo7EUm9wnm71N6mT+r6umyniHejO4WxP+OnDOvpAdtbcyu58eiq2XxZF3n96f/HOLbw+eY0jeEbw6da/CYVptORUrt8fP6hlmsGXevNwDogUb0AVWdvMUd+jVc0Ts62WXVt3KZCii1sFlA2fAU7FsG930DkSOv/fdZqMJgZG9qHj8ez2RTfBbnC7R09zERfozv0Y5berSlvV/D60Sq5wkrrzTi4+aEo4P2RFawjysPj4hkZkx73J11VBqMfLQ9hX/HncTHzZnXYnsTf76QtzZfrt0uBAzr5E+orxtr9qUzOMKPz+fEWJU37F8bT/DBT8l4uejMwa4+s2I68Gpsb4t//zWr6uSt6sCtCQhX7G/zTt7GV/Sqk7+hqIBSC5sElBPfw+pZMOwPMP7vtmlYI0gpOZZRyKb4TDYdzyIxqwjQhrDG92zLrT3b0b2dV72T1BcK9eY8YUIIwv3dMUptNb6fhzMPDg/n90PD8XFz4lhGAZPf3VHj+I7+7tw9qD139g2luKySqYt3EuTtyldzh+HjXvfQQUl5JSezLnHifCEnMousKpDVr4Mv6x4bpp1XjU7e2g68EVf0je3kr+qkr2HcXXXyih2ogFKLaw4oRZnaI8LeofBQHOjqXo3e3FJzitlsCi77z+QjJbT3c2N8j3aM79GWgeF+daY6qZ4nzM3Jkej2vqbEkPVPiK+YE8OILoFkFeqJ/WAn5QYjXz82lDBvHVSUYCwvJSs3n9TMHM5m5ZGRnceFvHwKiopwlWW4inLcKMeVclxFGa5U4EYZrpTjJspxoVx7LbTt7dzB39lw7Z08opYOvb4OvL4A0EBAcHRWnbxy3VMBpRbXFFCMRvhyKqT9Bo/+DIG1ZoppEbKLytiSkMWm+Cx2JOVQbjDQ1t2B8V29uaWLN4Pbu+Miy666Ks/MzWfr0TSSMrJxoxyXah2+1rGXE+BipGegE2eycqFST6CrESpK0Rn1eOsq0Rn0iEZ08kYp0ONMKc7ocUYvnU2vXdBLJ4L829A1NNDCANBAQFCdvKJYpaWnXrn+7P4QkrdqydZsEUykBEOFlU/OWPa8fGClnpkVpcysKEW6a/sKoxFOoH3VoR1wD4BptKrWTr7cmYwcdzw9vUjKd+d0qanjl87oDdq+6Fzx9vbB38ebAL82tPPzJTjAD1d3D3NAyNQ7cM+yw+SUOVCGM2U4oSU+uNqDwyOYPzlKBQFFaeFUQLFE5jGIewn8IsEjEI6ssc2jlNK6ioNm9Q2zuPnWeC2qXaVXOrqRWmDgcGY5+8+Vcr5EUIYzpdLFHDh8vLwYFx3OpH6RpORX8vCK/Vd/fjlQdPXmToEeLLl/EOHVUtjX5sCZfGI/3Al4N3iqqx4ewtBO/pb/2yiKYjdqyMsS3zwOB7+of59GPS7ZiGEbncs1X6mfyS1h7YF0Fm1JatTx0e19OXz2ovl1/w6+FJRWkJxdTOcgT96aEU2fMN8ax1QYjMTFZ/HetlMcP1do0ef8+twYq1PAKIpie2oOpRaNDijFuZB1rO6AoHNt8cMxBaUVfH/0POsOpOgLHocAAAkPSURBVDc42X6ld2b2ZVLvYOISsnhz00mSLlwCwFnnwFPjuvLpjlRyLl1eie/oIHh8dGfmjozkt+Rcnl931FwS2BJfPjSY4Z0DrGqjoihNRwWUWjRbTfkWJDWnmDc3JbIpPsucoqVKkJcL3YO9iWrnRVSwN92DvYgM8OS9rUks2nqqxr4Bns6Mi2qLq5Njjcd8B3Zsw5Nju3A6p5iXvj1+TW3tHOTJ0vsH0cG/4bU0iqI0HzUprwCw8Vgmm+Oz6NbWi+7tvMwBpFs7r1qLcK3YlcairacYFxXEB/cOQF9p4KfEbDYdz2T13sspVTr4uXMmr4R9afncv3TPNbczZcHERqfNVxSlZVABpZV7bFQn5o6MtCgL74pdacxff8wcTJx1DjjrHBga6U9haQUbjlwuO3wmz/LKifVxc3Ik/pVbVZZgRWkF7BJQhBDTgZeBKCBGSlnrOJQQ4jbgHcARWCKlfM20PQJYDfgBB4DfSynrz9t+A7Oks/7CFExiIvy4d0hHluxI4cjZAo6kX+RcQc303NMHhNE92Ju3NiVSXG6o83dO7hNcIwhV17e9L2/OiKZToKd1J6MoSotlrzuUY0As8FFdOwghHIH3gVuAdGCvEOJbKWU8sBB4W0q5WgjxITAHWNz0zW6d1uw7y4vrtSrKe1Lz2JOaB2ipVfqE+XKuIBOARbP6UVhaYd63IXUFk4Pzb7E4oaWiKNcPuwQUKWUCNHjlHAOcklKmmPZdDUwRQiQAYzCtwQM+Q7vbUQGlkXYk5RDk5UKfMF/6tvehT5gvfcJ88HFz4pk1h837/WHVwTp/h7OjA93aedEzxBt/T2fe35Zc4/3XYnszM6ZDk52Doij215LnUEKBs9VepwODAX/gopSystr20GZuW6uyaFa/Wrf/7/A51h3MuGq7i86B6Pa+9AzxpmeIDz1DvOkc5IlTtVT1E3oFc6FIz4gugTW2K4rSejVZQBFCxKFl87jSC1LKbyz5FbVsk/Vsr6sdjwCPAHTooK6QrRET4cff7+zFjqRsOgd5moNH+zbuDT6R1SvUB2hc/WpFUa5PTRZQpJTjrvFXpAPtq70OA84BOYCvEEJnukup2l5XOz4GPgZtHco1tumG0tbbld8P6cjvh3S0d1MURbkOtOSxiL1AFyFEhBDCGZgJfCu1lZjbgGmm/e4HLLnjURRFUZqQXQKKEOIuIUQ6MBT4Tgjxo2l7iBDiewDT3ccTwI9AArBGSlm1FPtZ4GkhxCm0OZVPm/scFEVRlJpU6hVFURSlXpamXmnJQ16KoijKdUQFFEVRFMUmVEBRFEVRbEIFFEVRFMUmVEBRFEVRbOKGespLCJENpNm7HQ0IQFu82dqp82x9bpRzvRHPs6OUMrChA26ogHI9EELss+TxvOudOs/W50Y5V3WedVNDXoqiKIpNqICiKIqi2IQKKC3Px/ZuQDNR59n63Cjnqs6zDmoORVEURbEJdYeiKIqi2IQKKC2IEMJRCHFQCLHB3m1pSkKI00KIo0KIQ0KIVputUwjhK4RYK4Q4IYRIEEIMtXebbE0I0c30d6z6KhRC/Mne7WoKQoinhBDHhRDHhBCrhBCu9m5TUxFC/NF0nset+Xu25BLAN6I/oqXq97Z3Q5rBaClla3+W/x1go5Rymqmmj7u9G2RrUspEoC9oF0RABvC1XRvVBIQQocAfgB5SylIhxBq0Gk3L7dqwJiCE6AU8DMQA5cBGIcR3Usqkho5VdygthBAiDJgELLF3W5RrJ4TwBm7GVKtHSlkupbxo31Y1ubFAspSypS8ebiwd4CaE0KFdHNRZKfY6FwXsklKWmOpS/QzcZcmBKqC0HP8G/h9gtHdDmoEENgkh9gshHrF3Y5pIJJANLDMNYy4RQnjYu1FNbCawyt6NaApSygzgDeAMcB4okFJusm+rmswx4GYhhL8Qwh2YSM1y7HVSAaUFEEJMBi5IKffbuy3NZLiUsj8wAXhcCHGzvRvUBHRAf2CxlLIfUAw8Z98mNR3TkN4dwH/t3ZamIIRoA0wBIoAQwEMI8Tv7tqppSCkTgIXAZmAjcBiotORYFVBahuHAHUKI08BqYIwQ4gv7NqnpSCnPmb5fQBtvj7Fvi5pEOpAupdxter0WLcC0VhOAA1LKLHs3pImMA1KllNlSygpgHTDMzm1qMlLKT6WU/aWUNwN5QIPzJ6ACSosgpXxeShkmpQxHGzbYKqVslVc/QggPIYRX1c/AeLRb7FZFSpkJnBVCdDNtGgvE27FJTW0WrXS4y+QMMEQI4S6EEGh/zwQ7t6nJCCGCTN87ALFY+LdVT3kpza0t8LX2/yQ6YKWUcqN9m9RkngS+NA0HpQCz7dyeJmEaZ78FeNTebWkqUsrdQoi1wAG04Z+DtO4V818JIfyBCuBxKWW+JQeplfKKoiiKTaghL0VRFMUmVEBRFEVRbEIFFEVRFMUmVEBRFEVRbEIFFEVRFMUmVEBRlOuAEGKnvdugKA1Rjw0riqIoNqHuUBTFhoQQg4QQR4QQrqasAMdN6cCv3G+9KTnm8aoEmUKIjkKIJCFEgBDCQQjxixBivOm9S6bvwUKI7abaI8eEECOa9wwVpW7qDkVRbEwI8Q/AFXBDy+f1ai37+Ekp84QQbsBeYKSUMlcI8RBwG7Ab6CylfNS0/yUppacQ4hnAVUr5T1P9EXcpZVFznZui1EcFFEWxMVOqlb2AHhgmpTTUss/LXK4xEQ7cKqXcZXrvR6Az0LcqWFQLKDcDS4EvgPVSykNNfDqKYjE15KUotucHeAJeaHcqNQghRqFlrx0qpYxGywvlanrPHQgz7ep55bFSyu1ohbsygBVCiPuaoP2K0igqoCiK7X0MzAe+RKsrcSUfIF9KWSKE6A4MqfbeQtNxfwM+ufJAIURHtNo5n6BVg2zNKfGV64zKNqwoNmS6Y6iUUq40zXHsFEKMkVJurbbbRmCuEOIIkAhUDXWNBAahFSAzCCGmCiFmSymXVTt2FPAXIUQFcAlQdyhKi6HmUBRFURSbUENeiqIoik2ogKIoiqLYhAooiqIoik2ogKIoiqLYhAooiqIoik2ogKIoiqLYhAooiqIoik2ogKIoiqLYxP8H8FRUBPVNKAQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a1a3a7828>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.plot(x, sinx, label = 'sinx')\n",
    "plt.plot(x, cosx, label = 'cosx')\n",
    "plt.legend()\n",
    "plt.xlabel(\"x axis\")\n",
    "plt.ylabel(\"y value\")\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn.linear_model import LinearRegression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [],
   "source": [
    "reg = LinearRegression()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "ename": "ValueError",
     "evalue": "Expected 2D array, got 1D array instead:\narray=[ 6.343  5.362  7.267  5.701  7.765  6.54   6.301  5.813  6.781  6.114\n  5.713  6.842  6.242  5.412  4.652  5.67   7.148  6.649  5.757  6.037\n  6.563  6.223  6.726  6.701  5.304  6.606  7.178  6.211  6.004  7.287\n  6.998  7.147  6.23   5.783  5.399  6.957  8.398  5.79   6.211  6.163\n  5.706  5.683  6.951  6.086  6.77   5.878  5.837  6.951  5.56   6.081\n  6.474  5.895  6.302  6.176  6.879  6.312  6.021  7.014  6.172  5.926\n  5.663  7.088  6.495  5.036  6.113  6.335  5.884  6.406  6.279  5.834\n  6.29   3.561  7.61   5.966  6.567  5.757  5.896  7.236  5.637  6.122\n  5.57   5.427  5.708  6.254  5.951  6.326  5.856  5.631  5.983  5.914\n  6.066  5.836  7.203  6.108  6.02   6.101  5.87   6.794  6.454  6.316\n  6.897  6.059  6.286  6.152  6.162  5.     6.481  5.787  6.421  5.88\n  5.889  4.368  6.03   7.691  6.516  8.04   5.604  6.549  6.482  4.963\n  6.655  5.012  6.395  6.096  6.426  5.891  6.108  6.051  6.167  7.024\n  6.112  6.121  6.229  6.393  6.824  6.968  7.079  5.983  6.31   5.605\n  5.762  7.47   6.442  5.868  5.39   6.433  5.414  6.635  6.012  6.415\n  5.803  6.232  6.782  6.226  6.162  6.129  6.38   6.593  6.739  6.38\n  5.713  6.513  6.103  7.82   5.569  6.425  6.604  6.174  6.812  6.006\n  5.961  6.208  6.195  7.686  6.341  6.145  4.519  6.202  6.411  6.326  6.8\n  6.485  4.906  5.277  6.315  6.144  6.434  5.877  5.888  5.648  5.608\n  5.628  5.987  5.594  5.936  6.618  6.064  6.372  6.43   5.709  6.975\n  6.849  5.731  6.273  6.142  5.727  3.863  5.928  6.405  6.122  6.072\n  6.854  6.358  4.973  5.851  6.297  5.968  5.747  6.556  7.135  6.416\n  5.874  5.96   8.78   6.417  6.182  6.065  6.03   7.333  5.713  5.986\n  6.629  5.705  6.545  5.857  6.495  6.579  6.718  6.728  6.943  5.935\n  5.617  5.536  6.595  6.471  5.453  6.794  6.027  7.061  6.245  6.758\n  6.458  5.942  5.876  6.538  5.841  6.047  5.95   4.903  5.856  6.389\n  6.377  6.092  4.628  5.985  7.853  5.093  6.019  6.939  6.552  5.85\n  5.871  6.871  5.972  6.219  4.88   5.344  4.138  7.313  6.13   5.949\n  6.014  6.209  5.813  6.127  7.107  5.565  6.511  6.484  6.852  6.453\n  8.259  6.431  6.083  5.531  6.185  8.266  6.63   5.822  6.167  7.416\n  6.398  6.315  7.206  5.759  5.572  4.926  6.373  5.852  6.376  6.657\n  6.127  5.404  5.905  7.007  6.727  6.251  5.682  6.14   5.707  6.004\n  5.875  6.49   6.816  6.727  6.152  6.749  6.229  5.898  7.393  6.015\n  6.59   7.163  7.185  6.525  5.613  6.616  6.405  5.403  6.009  5.926\n  7.274  5.854  6.023  6.137  6.169  6.24   6.127  5.794  6.874  5.935\n  6.98   5.961  6.86   6.251  6.319  6.185  5.913  6.982  5.186  5.924\n  6.151  6.209  5.39   5.869  5.019  6.229  5.404  6.642  5.885  7.42\n  5.786  6.782  6.762  8.247  7.82   5.272  7.412  5.741  6.115  5.981\n  6.405  6.376  6.461  6.12   6.98   6.417  6.333  6.348  6.459  6.404\n  5.593].\nReshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.",
     "output_type": "error",
     "traceback": [
      "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
      "\u001b[0;31mValueError\u001b[0m                                Traceback (most recent call last)",
      "\u001b[0;32m<ipython-input-18-5a20250c8647>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0mreg\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mfit\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mx_train\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0my_train\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/sklearn/linear_model/base.py\u001b[0m in \u001b[0;36mfit\u001b[0;34m(self, X, y, sample_weight)\u001b[0m\n\u001b[1;32m    480\u001b[0m         \u001b[0mn_jobs_\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mn_jobs\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    481\u001b[0m         X, y = check_X_y(X, y, accept_sparse=['csr', 'csc', 'coo'],\n\u001b[0;32m--> 482\u001b[0;31m                          y_numeric=True, multi_output=True)\n\u001b[0m\u001b[1;32m    483\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    484\u001b[0m         \u001b[0;32mif\u001b[0m \u001b[0msample_weight\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0;32mNone\u001b[0m \u001b[0;32mand\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0matleast_1d\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msample_weight\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mndim\u001b[0m \u001b[0;34m>\u001b[0m \u001b[0;36m1\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py\u001b[0m in \u001b[0;36mcheck_X_y\u001b[0;34m(X, y, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, multi_output, ensure_min_samples, ensure_min_features, y_numeric, warn_on_dtype, estimator)\u001b[0m\n\u001b[1;32m    571\u001b[0m     X = check_array(X, accept_sparse, dtype, order, copy, force_all_finite,\n\u001b[1;32m    572\u001b[0m                     \u001b[0mensure_2d\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mallow_nd\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mensure_min_samples\u001b[0m\u001b[0;34m,\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 573\u001b[0;31m                     ensure_min_features, warn_on_dtype, estimator)\n\u001b[0m\u001b[1;32m    574\u001b[0m     \u001b[0;32mif\u001b[0m \u001b[0mmulti_output\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    575\u001b[0m         y = check_array(y, 'csr', force_all_finite=True, ensure_2d=False,\n",
      "\u001b[0;32m~/anaconda3/lib/python3.6/site-packages/sklearn/utils/validation.py\u001b[0m in \u001b[0;36mcheck_array\u001b[0;34m(array, accept_sparse, dtype, order, copy, force_all_finite, ensure_2d, allow_nd, ensure_min_samples, ensure_min_features, warn_on_dtype, estimator)\u001b[0m\n\u001b[1;32m    439\u001b[0m                     \u001b[0;34m\"Reshape your data either using array.reshape(-1, 1) if \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    440\u001b[0m                     \u001b[0;34m\"your data has a single feature or array.reshape(1, -1) \"\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m--> 441\u001b[0;31m                     \"if it contains a single sample.\".format(array))\n\u001b[0m\u001b[1;32m    442\u001b[0m             \u001b[0marray\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0matleast_2d\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0marray\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m    443\u001b[0m             \u001b[0;31m# To ensure that array flags are maintained\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
      "\u001b[0;31mValueError\u001b[0m: Expected 2D array, got 1D array instead:\narray=[ 6.343  5.362  7.267  5.701  7.765  6.54   6.301  5.813  6.781  6.114\n  5.713  6.842  6.242  5.412  4.652  5.67   7.148  6.649  5.757  6.037\n  6.563  6.223  6.726  6.701  5.304  6.606  7.178  6.211  6.004  7.287\n  6.998  7.147  6.23   5.783  5.399  6.957  8.398  5.79   6.211  6.163\n  5.706  5.683  6.951  6.086  6.77   5.878  5.837  6.951  5.56   6.081\n  6.474  5.895  6.302  6.176  6.879  6.312  6.021  7.014  6.172  5.926\n  5.663  7.088  6.495  5.036  6.113  6.335  5.884  6.406  6.279  5.834\n  6.29   3.561  7.61   5.966  6.567  5.757  5.896  7.236  5.637  6.122\n  5.57   5.427  5.708  6.254  5.951  6.326  5.856  5.631  5.983  5.914\n  6.066  5.836  7.203  6.108  6.02   6.101  5.87   6.794  6.454  6.316\n  6.897  6.059  6.286  6.152  6.162  5.     6.481  5.787  6.421  5.88\n  5.889  4.368  6.03   7.691  6.516  8.04   5.604  6.549  6.482  4.963\n  6.655  5.012  6.395  6.096  6.426  5.891  6.108  6.051  6.167  7.024\n  6.112  6.121  6.229  6.393  6.824  6.968  7.079  5.983  6.31   5.605\n  5.762  7.47   6.442  5.868  5.39   6.433  5.414  6.635  6.012  6.415\n  5.803  6.232  6.782  6.226  6.162  6.129  6.38   6.593  6.739  6.38\n  5.713  6.513  6.103  7.82   5.569  6.425  6.604  6.174  6.812  6.006\n  5.961  6.208  6.195  7.686  6.341  6.145  4.519  6.202  6.411  6.326  6.8\n  6.485  4.906  5.277  6.315  6.144  6.434  5.877  5.888  5.648  5.608\n  5.628  5.987  5.594  5.936  6.618  6.064  6.372  6.43   5.709  6.975\n  6.849  5.731  6.273  6.142  5.727  3.863  5.928  6.405  6.122  6.072\n  6.854  6.358  4.973  5.851  6.297  5.968  5.747  6.556  7.135  6.416\n  5.874  5.96   8.78   6.417  6.182  6.065  6.03   7.333  5.713  5.986\n  6.629  5.705  6.545  5.857  6.495  6.579  6.718  6.728  6.943  5.935\n  5.617  5.536  6.595  6.471  5.453  6.794  6.027  7.061  6.245  6.758\n  6.458  5.942  5.876  6.538  5.841  6.047  5.95   4.903  5.856  6.389\n  6.377  6.092  4.628  5.985  7.853  5.093  6.019  6.939  6.552  5.85\n  5.871  6.871  5.972  6.219  4.88   5.344  4.138  7.313  6.13   5.949\n  6.014  6.209  5.813  6.127  7.107  5.565  6.511  6.484  6.852  6.453\n  8.259  6.431  6.083  5.531  6.185  8.266  6.63   5.822  6.167  7.416\n  6.398  6.315  7.206  5.759  5.572  4.926  6.373  5.852  6.376  6.657\n  6.127  5.404  5.905  7.007  6.727  6.251  5.682  6.14   5.707  6.004\n  5.875  6.49   6.816  6.727  6.152  6.749  6.229  5.898  7.393  6.015\n  6.59   7.163  7.185  6.525  5.613  6.616  6.405  5.403  6.009  5.926\n  7.274  5.854  6.023  6.137  6.169  6.24   6.127  5.794  6.874  5.935\n  6.98   5.961  6.86   6.251  6.319  6.185  5.913  6.982  5.186  5.924\n  6.151  6.209  5.39   5.869  5.019  6.229  5.404  6.642  5.885  7.42\n  5.786  6.782  6.762  8.247  7.82   5.272  7.412  5.741  6.115  5.981\n  6.405  6.376  6.461  6.12   6.98   6.417  6.333  6.348  6.459  6.404\n  5.593].\nReshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample."
     ]
    }
   ],
   "source": [
    "reg.fit(x_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [],
   "source": [
    "from SimpleLinearRegression import SimpleLinearRegression"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [],
   "source": [
    "reg = SimpleLinearRegression()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "SimpleLinearRegression()"
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.fit(x_train, y_train)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7.8608543562689563"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.a_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "-27.45934280670555"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.b_"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0x1a1adfa780>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(x_train, y_train, color = 'r')\n",
    "plt.plot(x_train, reg.predict(x_train), color='g')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "y_predict = reg.predict(x_test)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [],
   "source": [
    "from metrics import mean_square_error\n",
    "from metrics import root_mean_square_error\n",
    "from metrics import mean_absolute_error"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "24.15660213438743"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mean_square_error(y_test, y_predict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.61293168039373236"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "reg.score(y_test, y_predict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "4.914936635846634"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "root_mean_square_error(y_test, y_predict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "3.5430974409463873"
      ]
     },
     "execution_count": 30,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "mean_absolute_error(y_test, y_predict)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Help on class LinearRegression in module sklearn.linear_model.base:\n",
      "\n",
      "class LinearRegression(LinearModel, sklearn.base.RegressorMixin)\n",
      " |  Ordinary least squares Linear Regression.\n",
      " |  \n",
      " |  Parameters\n",
      " |  ----------\n",
      " |  fit_intercept : boolean, optional, default True\n",
      " |      whether to calculate the intercept for this model. If set\n",
      " |      to False, no intercept will be used in calculations\n",
      " |      (e.g. data is expected to be already centered).\n",
      " |  \n",
      " |  normalize : boolean, optional, default False\n",
      " |      This parameter is ignored when ``fit_intercept`` is set to False.\n",
      " |      If True, the regressors X will be normalized before regression by\n",
      " |      subtracting the mean and dividing by the l2-norm.\n",
      " |      If you wish to standardize, please use\n",
      " |      :class:`sklearn.preprocessing.StandardScaler` before calling ``fit`` on\n",
      " |      an estimator with ``normalize=False``.\n",
      " |  \n",
      " |  copy_X : boolean, optional, default True\n",
      " |      If True, X will be copied; else, it may be overwritten.\n",
      " |  \n",
      " |  n_jobs : int, optional, default 1\n",
      " |      The number of jobs to use for the computation.\n",
      " |      If -1 all CPUs are used. This will only provide speedup for\n",
      " |      n_targets > 1 and sufficient large problems.\n",
      " |  \n",
      " |  Attributes\n",
      " |  ----------\n",
      " |  coef_ : array, shape (n_features, ) or (n_targets, n_features)\n",
      " |      Estimated coefficients for the linear regression problem.\n",
      " |      If multiple targets are passed during the fit (y 2D), this\n",
      " |      is a 2D array of shape (n_targets, n_features), while if only\n",
      " |      one target is passed, this is a 1D array of length n_features.\n",
      " |  \n",
      " |  intercept_ : array\n",
      " |      Independent term in the linear model.\n",
      " |  \n",
      " |  Notes\n",
      " |  -----\n",
      " |  From the implementation point of view, this is just plain Ordinary\n",
      " |  Least Squares (scipy.linalg.lstsq) wrapped as a predictor object.\n",
      " |  \n",
      " |  Method resolution order:\n",
      " |      LinearRegression\n",
      " |      LinearModel\n",
      " |      abc.NewBase\n",
      " |      sklearn.base.BaseEstimator\n",
      " |      sklearn.base.RegressorMixin\n",
      " |      builtins.object\n",
      " |  \n",
      " |  Methods defined here:\n",
      " |  \n",
      " |  __init__(self, fit_intercept=True, normalize=False, copy_X=True, n_jobs=1)\n",
      " |      Initialize self.  See help(type(self)) for accurate signature.\n",
      " |  \n",
      " |  fit(self, X, y, sample_weight=None)\n",
      " |      Fit linear model.\n",
      " |      \n",
      " |      Parameters\n",
      " |      ----------\n",
      " |      X : numpy array or sparse matrix of shape [n_samples,n_features]\n",
      " |          Training data\n",
      " |      \n",
      " |      y : numpy array of shape [n_samples, n_targets]\n",
      " |          Target values. Will be cast to X's dtype if necessary\n",
      " |      \n",
      " |      sample_weight : numpy array of shape [n_samples]\n",
      " |          Individual weights for each sample\n",
      " |      \n",
      " |          .. versionadded:: 0.17\n",
      " |             parameter *sample_weight* support to LinearRegression.\n",
      " |      \n",
      " |      Returns\n",
      " |      -------\n",
      " |      self : returns an instance of self.\n",
      " |  \n",
      " |  ----------------------------------------------------------------------\n",
      " |  Data and other attributes defined here:\n",
      " |  \n",
      " |  __abstractmethods__ = frozenset()\n",
      " |  \n",
      " |  ----------------------------------------------------------------------\n",
      " |  Methods inherited from LinearModel:\n",
      " |  \n",
      " |  predict(self, X)\n",
      " |      Predict using the linear model\n",
      " |      \n",
      " |      Parameters\n",
      " |      ----------\n",
      " |      X : {array-like, sparse matrix}, shape = (n_samples, n_features)\n",
      " |          Samples.\n",
      " |      \n",
      " |      Returns\n",
      " |      -------\n",
      " |      C : array, shape = (n_samples,)\n",
      " |          Returns predicted values.\n",
      " |  \n",
      " |  ----------------------------------------------------------------------\n",
      " |  Methods inherited from sklearn.base.BaseEstimator:\n",
      " |  \n",
      " |  __getstate__(self)\n",
      " |  \n",
      " |  __repr__(self)\n",
      " |      Return repr(self).\n",
      " |  \n",
      " |  __setstate__(self, state)\n",
      " |  \n",
      " |  get_params(self, deep=True)\n",
      " |      Get parameters for this estimator.\n",
      " |      \n",
      " |      Parameters\n",
      " |      ----------\n",
      " |      deep : boolean, optional\n",
      " |          If True, will return the parameters for this estimator and\n",
      " |          contained subobjects that are estimators.\n",
      " |      \n",
      " |      Returns\n",
      " |      -------\n",
      " |      params : mapping of string to any\n",
      " |          Parameter names mapped to their values.\n",
      " |  \n",
      " |  set_params(self, **params)\n",
      " |      Set the parameters of this estimator.\n",
      " |      \n",
      " |      The method works on simple estimators as well as on nested objects\n",
      " |      (such as pipelines). The latter have parameters of the form\n",
      " |      ``<component>__<parameter>`` so that it's possible to update each\n",
      " |      component of a nested object.\n",
      " |      \n",
      " |      Returns\n",
      " |      -------\n",
      " |      self\n",
      " |  \n",
      " |  ----------------------------------------------------------------------\n",
      " |  Data descriptors inherited from sklearn.base.BaseEstimator:\n",
      " |  \n",
      " |  __dict__\n",
      " |      dictionary for instance variables (if defined)\n",
      " |  \n",
      " |  __weakref__\n",
      " |      list of weak references to the object (if defined)\n",
      " |  \n",
      " |  ----------------------------------------------------------------------\n",
      " |  Methods inherited from sklearn.base.RegressorMixin:\n",
      " |  \n",
      " |  score(self, X, y, sample_weight=None)\n",
      " |      Returns the coefficient of determination R^2 of the prediction.\n",
      " |      \n",
      " |      The coefficient R^2 is defined as (1 - u/v), where u is the residual\n",
      " |      sum of squares ((y_true - y_pred) ** 2).sum() and v is the total\n",
      " |      sum of squares ((y_true - y_true.mean()) ** 2).sum().\n",
      " |      The best possible score is 1.0 and it can be negative (because the\n",
      " |      model can be arbitrarily worse). A constant model that always\n",
      " |      predicts the expected value of y, disregarding the input features,\n",
      " |      would get a R^2 score of 0.0.\n",
      " |      \n",
      " |      Parameters\n",
      " |      ----------\n",
      " |      X : array-like, shape = (n_samples, n_features)\n",
      " |          Test samples.\n",
      " |      \n",
      " |      y : array-like, shape = (n_samples) or (n_samples, n_outputs)\n",
      " |          True values for X.\n",
      " |      \n",
      " |      sample_weight : array-like, shape = [n_samples], optional\n",
      " |          Sample weights.\n",
      " |      \n",
      " |      Returns\n",
      " |      -------\n",
      " |      score : float\n",
      " |          R^2 of self.predict(X) wrt. y.\n",
      "\n"
     ]
    }
   ],
   "source": [
    "help(LinearRegression)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.3"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
